首页 > 解决方案 > 打开-编辑-保存-用python循环文件夹中的csv文件

问题描述

我将收到一个包含 100 多个 .csv 文件的文件夹,我需要以同样的方式编辑它们。文件具有相同的结构。文件夹如下所示:df1.csv df2.csv df3.csv ... df100.csv。我需要打开所有文件 - 编辑它们 - 然后将它们保存为“df1-edited”、“df2-edited”等。

根据每个 df 代码运行完美。我不确定如何在每个文件中自动运行它并相应地保存它们。这是我的代码:

import pandas as pd

df = pd.read_csv('df1.csv')

[Edit steps here]

df.to_csv("df1-edited.csv", index=None, encoding='utf-8-sig', decimal=',')

谢谢!

标签: pythonpandascsv

解决方案


为此,您可以使用标准库中适用于您的操作系统的模块。

本质上,您需要找到.csv文件夹中的所有文件并对其进行迭代。

让我们使用pathlib. 这未经测试,但这样的事情应该可以工作:

from pathlib import Path
import pandas as pd

csv_folder = Path('path/to/csvs')

for file in csv_folder.glob('*.csv'): #create iteratable & iterate on it.
    df = pd.read_csv(file)
    # do stuff
    new_file_name = file.parent.joinpath(f"{file.stem}-edited.csv")
    df.to_csv(new_file_name, index=None, encoding='utf-8-sig', decimal=',')

推荐阅读