我想通過文件列表循環,並在每列中添加一些額外的信息。以下代碼片段適用於一個文件,但如果我有許多文件無法使用。IndexError:列表索引超出範圍while循環通過整個目錄
代碼:
def list_csv_files(csv_folder):
input_file_list = []
for root, dirs, files in os.walk(cwd):
for name in files:
if name.endswith(".csv"):
input_file_list.append(os.path.relpath(os.path.join(root, name)))
print input_file_list
with open(input_file, 'rb') as f, open(temp_file, 'w') as fo: #PROBLEM HERE
reader = csv.reader(f, delimiter=',')
for row in reader:
one = '"'+ row[0] + '"'
two = row[1]
three = '"'+ row[2] +'"'
print >> fo, one,two,three
os.rename(temp_file, input_file)
list_csv_files(csv_folder)
輸入文件1:foo.csv
ProjectB - TIM - 2619,2,4/11/07
ProjectB - TIM - 2504,2,9/19/06
ProjectB - TIM - 2374,2,4/7/06
ProjectB - TIM - 2373,2,4/7/06
ProjectB - TIM - 2284,2,2/21/06
輸入文件2:bar.csv
ProjectC - TIM - 2619,2,4/11/07
ProjectC - TIM - 2504,2,9/19/06
期望輸出File1中:FOO。 csv
"ProjectB - TIM - 2619" 2 "4/11/07"
"ProjectB - TIM - 2504" 2 "9/19/06"
"ProjectB - TIM - 2374" 2 "4/7/06"
"ProjectB - TIM - 2373" 2 "4/7/06"
"ProjectB - TIM - 2284" 2 "2/21/06"
預期輸出文件2:bar.csv
"ProjectC - TIM - 2619" 2 "4/11/07"
"ProjectC - TIM - 2504" 2 "9/19/06"
錯誤 - 我得到錯誤索引超時錯誤的,因爲不能環路直通的所有文件。
File "read_csv.py", line 143, in <module>
two = row[1]
IndexError: list index out of range
有一些線,沒有任何','所有,也許一個空行,你有沒有檢查? –
是你輸入輸出的確切輸入輸出你?? –
請顯示一個不起作用的文件! – Ymartin