迭代 .csv 文件并分别命名数据框

Posted

技术标签:

【中文标题】迭代 .csv 文件并分别命名数据框【英文标题】:Iterating over .csv files and naming dataframes respectively 【发布时间】:2021-03-20 09:26:59 【问题描述】:

如何遍历文件夹中的 .csv 文件,从每个 .csv 创建数据框,并在相应的 .csv 文件之后命名这些日期框。或者它实际上可以是任何其他名称。

我的方法不会创建单个数据框。

path = "/user/Home/Data/"

files = os.listdir(path) 

os.chdir(path)

for file, j in zip(files, range(len(files))):
     if file.endswith('.csv'):
        files[j] = pd.read_csv(file)

谢谢!

【问题讨论】:

你试过使用 glob 吗?这个post 可能对你想要做的事情有所帮助 如果您想按名称访问数据帧,请考虑将它们添加到字典中。 FWIW 你可以使用for index, filename in enumerate(files) 【参考方案1】:

您可以使用 pathlib 和字典来做到这一点(正如 jitusj 在评论中已经指出的那样)。

from pathlib import Path

path = Path(".../user/Home/Data/") # complete path needed! Replace "..." with full path

dict_of_df = 
for file in path.glob('*.csv'):
    dict_of_df[file.stem] = pd.read_csv(file)

现在您有了一个数据帧字典,其中文件名作为键(没有 .csv 扩展名)。

【讨论】:

以上是关于迭代 .csv 文件并分别命名数据框的主要内容,如果未能解决你的问题,请参考以下文章

通过迭代,将多个 ID 值替换为数据框单列中的名称值

迭代熊猫数据框

Perl 解析 csv 文件并迭代 curl

迭代多个 CSV 并加入 Spark SQL

对应时迭代数据框和格式化日期

添加列并附加数据框