我有未知数量的输入 csv 文件看起来或多或少像这样(设置宽度不同长度)
Header1, Header2, Header3, Header4
1,2,3,4
11,22,33,44
1,2,3,4
输出看起来像这样。
Header1,Header3, ,Header1,Header3, ,...
1,3, ,1,3, ,...
...
目前我可以将所有输入文件读入字符串,并且我知道如何读取每个文件的第一行并以所需的格式打印它,但我被困在如何制作循环以转到每个文件的下一行和打印该数据。由于文件在一个结束时的长度不同,我不知道如何处理它并放入空格作为占位符以保持格式。下面是我的代码。
csvs = []
hold = []
i=0 # was i=-1 to start, improved
for files in names:
i=i+1
csvs.append([i])
hold.append([i])
#z=0
for z in range(i):
# putting csv files into strings
csvs[z] = csv.reader(open(names[z],'rb'), delimiter=',')
line = []
#z=0
for z in range(i):
hold[z]=csvs[z].next()
line = line + [hold[z][0], hold[z][3], ' ']
print line
writefile.writerow(line)
names 是保存 csv 文件路径的字符串。此外,我对此还很陌生,所以如果你看到一些我可以做得更好的地方,我会全神贯注。