python - 打开-编辑-保存-用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=',')
谢谢!
解决方案
为此,您可以使用标准库中适用于您的操作系统的模块。
本质上,您需要找到.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=',')
推荐阅读
- java - 在 Flux 中生成分页的 WebClient 请求并使用响应
- python - data_arr = pickle.loads(data) EOFError: 用完输入
- matlab - 有没有办法在 MATLAB 的匿名函数中实现嵌套的 for 循环?
- twitter-bootstrap - Bootstrap 4.3.1 - 导航栏不会折叠
- javascript - 将 ckeditor 值存储在 javascript 变量中
- python - 类属性在这里存储为元组吗?
- android - Python 中的存储访问框架
- php - laravel jwt api 测试如何设置自动令牌
- python - Python 不会同时打印字符串和数字
- reactjs - 如何在 React 功能组件中获取路由参数