我需要合并我所有的csv文件在一个添加他们喜欢列我尝试解决方案描述here,但它不工作.它把行从一个csv到一个新的csv和其他csv作为新的行添加一行.我有:具有以下结构的多个文件:1.锉
a,b c,d
1.文件(相同的数据结构
e,f g,h
我的期望:
a,b,e,f,... b,c,g,h,...
我通过尝试代码得到的:
"a,b c,d" "e,f g,h"
db2dz4w81#
使用zip获取所有文件中的所有并发行,并使用列表加法将并发行连接在一起
zip
import csv import glob import itertools import os dirpath = "/path/to/directory/with/csv/files" csvPaths = glob.glob(os.path.join(dirpath, "*.csv")) csvs = [csv.reader(open(fpath) for fpath in csvPaths] rows = itertools.zip_longest(*csvs, fillvalue=[]) with open(os.path.join(dirpath, 'output.csv'), 'w') as outfile: outfile = csv.writer(outfile) for row in rows: outfile.writerow(sum(row))
1条答案
按热度按时间db2dz4w81#
使用
zip
获取所有文件中的所有并发行,并使用列表加法将并发行连接在一起