我正在尝试合并一个文件夹中的CSV文件以便进行分析。我还想附加每个文件的文件名作为一列,以便我可以确定哪些数据来自哪个文件。我已经查看了类似的问题,但它们都不适用于我。
这里是我使用的代码。此文件夹中有24个CSV文件,因此稍后使用cat合并CSV文件也很容易,因此即使有一种方法告诉我如何在每个文件中附加文件名,也将非常完美。任何帮助都将是极好的。
这里是我使用的代码。此文件夹中有24个CSV文件,因此稍后使用cat合并CSV文件也很容易,因此即使有一种方法告诉我如何在每个文件中附加文件名,也将非常完美。任何帮助都将是极好的。
import pandas as pd
import os
import glob
import csv
path=r'/home/videept/Downloads/A_DeviceMotion_data/A_DeviceMotion_data/dws_1/'
with open('output.csv', 'w', newline='') as f_output:
csv_output = csv.writer(f_output)
for filename in glob.glob(os.path.join(path,"*.csv")):
with open(filename, newline='') as f_input:
csv_input = csv.reader(f_input)
for row in csv_input:
row.insert(0, filename)
csv_output.writerow(row)
当我执行此操作时,单元格会进入一个无限循环,甚至不会创建新文件。我不确定如何查看正在发生的进度,所以任何关于此的想法都将是伟大的。谢谢 :)
with open(filename, newline='')...
行之前添加print("Processing", filename, "...)
,以确保是否有一个文件阻塞了所有操作。如果这还不够,我还会添加类似以下的每 n 行追踪信息:for i,row in enumerate(csv_input): if (0 == i%n): print('.', end='') ...
- Serge Ballestaprint()
查看变量中的内容 - 即filename
和row
- furas