使用python在文件夹中打开-编辑-保存-循环csv文件
我将收到一个包含100+个.csv文件的文件夹,我需要以同样的方式编辑它们。文件具有相同的结构。 文件夹如下所示: df1.csv df2.csv df3.csv ... df100.csv。我需要打开所有文件-编辑它们-然后将它们保存为“df1已编辑”、“df2已编辑”等等 根据每个df,代码都能完美运行。我不知道如何在每个文件中自动运行它并相应地保存它们。 这是我的密码:使用python在文件夹中打开-编辑-保存-循环csv文件,python,pandas,csv,Python,Pandas,Csv,我将收到一个包含100+个.csv文件的文件夹,我需要以同样的方式编辑它们。文件具有相同的结构。 文件夹如下所示: df1.csv df2.csv df3.csv ... df100.csv。我需要打开所有文件-编辑它们-然后将它们保存为“df1已编辑”、“df2已编辑”等等 根据每个df,代码都能完美运行。我不知道如何在每个文件中自动运行它并相应地保存它们。 这是我的密码: import pandas as pd df = pd.read_csv('df1.csv') [Edit step
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=',')
谢谢 为此,您可以使用标准库中与您的操作系统配合使用的模块 基本上,您需要找到文件夹中的所有
.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=',')
为此,您可以使用标准库中与操作系统配合使用的模块 基本上,您需要找到文件夹中的所有
.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=',')
非常感谢@Manakin。它确实有效,但只保存最后一个df。由于某些原因,它不能正常循环。有什么想法吗?@CCRo你把最后一行放在for循环之外了吗?解决了!问题是我的[do stuff]代码没有缩进。谢谢!回到这里,你能告诉我如何将新文件单独保存在新创建的文件夹中吗?非常感谢@Manakin。它确实有效,但只保存最后一个df。由于某些原因,它不能正常循环。有什么想法吗?@CCRo你把最后一行放在for循环之外了吗?解决了!问题是我的[do stuff]代码没有缩进。谢谢!回到这里,您能告诉我如何将新文件单独保存在新创建的文件夹中吗?