猿问

如何检索类似命名的 csv 文件并使用它们创建数据框

我有多个 csv 文件,它们的名称按数字顺序相似(nba_1、nba_2 等)。就列名和数据类型而言,它们的格式都相同。不是手动将每个单独拉入数据框(nba_1 = pd.read_csv('/nba_1.csv')),而是有一种方法可以编写for循环或类似的东西来拉入并命名它们?我认为基本框架是这样的:

for i in range(1, 6):
    nba_i = pd.read_csv('../nba_i.csv')

除此之外,我不知道细节。一旦我把它们拉进去,我将对它们中的每一个执行相同的操作(删除和格式化相同的列),所以我也想在那里迭代它们。

预先感谢您的帮助。


Cats萌萌
浏览 231回答 2
2回答

汪汪一只猫

我认为您真正的问题是如何将所有文件放入数据框中使用标准库的一部分pathlib来处理您的文件。Python 3 的 pathlib 模块:驯服文件系统由于您的csv文件是相同的,正如您在问题中所述,将它们全部组合到一个数据帧中然后一次清理所有数据会更有效。单独清理每个数据帧然后将它们组合起来效率较低获取单个组合数据框from pathlib import Pathimport pandas as pdp = Path(r'c:\some_path_to_files')  # set your pathfiles = p.glob('nba*.csv')  # find your files# It was stated, all the files are the same format, so create one dataframedf = pd.concat([pd.read_csv(file) for file in files]) [pd.read_csv(file) for file in files]是一个列表推导,它为每个文件创建一个数据框。pd.concat合并列表中的所有文件要获取单独的数据框:创建一个dict数据框每个key都是dict一个文件名p = Path(r'c:\some_path_to_files')  # set your pathfiles = p.glob('nba*.csv')  # find your filesdf_dict = dict()for file in files:    df_dict[file.stem] = pd.read_csv(file)使用df_dict:df_dict.keys()  # to show you all the keysdf_dict[filename]  # to access a specific dataframe# after cleaning the individual dataframes in df_dict, they can be combineddf_final = pd.concat([value for value in df_dict.values()])

慕的地8271018

基于 Pandas 构建的 Dask 库具有一次将多个 csv 加载到单个数据帧的方法。
随时随地看视频慕课网APP

相关分类

Python
我要回答