我有一個未知的號碼的,看起來或多或少像這樣(設置寬度不同的長度)結合的未知長度但具有相同寬度的CSV文件列在Python
Header1, Header2, Header3, Header4
1,2,3,4
11,22,33,44
1,2,3,4
輸出看起來像這樣輸入的CSV文件。
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文件路徑的字符串。此外,我對這件事還是比較陌生的,所以如果你看到一些我可以做得更好的地方,我就會全神貫注。
對於範圍(i)中的z,'z = 0'是不必要的:' –
謝謝,我已經對其進行了修改。同樣由於你的評論我已經改善了我的價值。我將編輯代碼以反映您的建議。 – deadstump
您是否知道用於讀取逗號分隔數據的Python的'csv'模塊? –