【发布时间】:2021-05-04 19:12:18
【问题描述】:
我在一个文件夹中有多个 csv 文件具有相同的数据结构,
0.00;1.05;10.5
0.01;2.05;15.5
0.02;3.05;20.5
...
我想将所有 csv 文件合并到 1 个摘要文件中,并根据原始数据源在每一行添加一个带有文件名的列。
0.00;1.05;10.5;csv1.csv
0.01;2.05;15.5;csv1.csv
0.02;3.05;20.5;csv1.csv
0.00;5.05;0.05;csv2.csv
0.01;6.05;1.05;csv2.csv
0.02;7.05;2.05;csv2.csv
...
我设法合并文件,但找不到添加文件名的方法。
files = []
for file in os.listdir(folder):
if file.endswith('.csv'):
files.append(file)
with open('results.csv', 'w', newline='') as fw:
cw = csv.writer(fw)
for file in files:
with open(file, newline='') as f:
cr = csv.reader(islice(f,13,None)
cw.writerows(cr)
由于内存限制,我不想使用 pandas concat。 谢谢你。
【问题讨论】: