[英]How to append multiple CSV files and add an additional column indicating file name in Python?
[英]Import CSV files from multiple folders and append filename as additional column in python
我正在尝试将多个csv文件导入单个文件而不使用熊猫。 我有以下代码。 但是,我希望能够将文件名添加为输出文件中的新列。 我已经用Pandas完成了,但是使用Pandas处理数百个csv文件非常耗时。 下面的代码对于创建单个文件非常有效。
import shutil
import glob, os
os.chdir("D:\\DATA")
allFiles = glob.glob("**/*.csv", recursive = True)
with open('D:\\AllData.csv', 'wb') as outfile:
for i, fname in enumerate(allFiles):
with open(fname, 'rb') as infile:
shutil.copyfileobj(infile, outfile)
任何帮助是极大的赞赏。
逐行执行任务应该不会花费太长时间
import glob, os
os.chdir("D:\\DATA")
allFiles = glob.glob("**/*.csv", recursive = True)
data = []
for i, fname in enumerate(allFiles):
with open(fname, 'r') as infile:
read_lines = infile.readlines()
read_lines = ['{0},{1}'.format(line.rstrip('\n'),fname) for line in read_lines]
data += read_lines
with open('D:\\AllData.csv', 'w') as outfile:
outfile.write('\n'.join(data))
以下使用os.path.basename起作用。
filename = os.path.basename(fname).split('。')[0] read_lines = ['{0},{1}'。format(line.rstrip('\\ n'),filename)用于行输入read_lines]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.