繁体   English   中英

从多个文件夹导入CSV文件,并将文件名附加为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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM