我正在使用Python版本3.2。有下面的代碼:For Loop問題
for row2 in reader2:
for row1 in reader1:
if row1['identification_column'] == row2['identification_column']:
row2['updated_col'] = row1['updated_col']
writer.writerow(row2)
reader1是csv.DictReader對象,如下所示:
identification_column,type
1, bike
2, guitar
3, drums
4, airplane
5, computer
reader2類似於reader1,除了更長,更全面的文件。
問題是這樣的:
我經歷了所有的內部循環運行,並且,如果程序沒有找到匹配,它不寫一行,然後遞增外環像我認爲會的。它只是停止。最初它給我一個錯誤,直到我讀到a post here,有人建議在作者聲明聲明中加入「extrasaction ='ignore'」。但是這並沒有解決我的問題。
我將非常感謝任何反饋修復此邏輯。在我看來,會發生以下情況:
A)如果內循環沒有從外循環中找到有問題的值,則程序將輸出外循環中的行,不會發生變化
B)另外,在內部循環有外部循環迭代,改變在該行中的一列中的值,然後輸出該行
我可以看到的確切值的情況下就像這樣,程序在內部循環的第一次迭代之後就停止了,但我不明白爲什麼會出現這種情況。
謝謝蒂姆。現在運行它可能需要一段時間,但至少它仍在運行,所以這是一個很好的跡象。一定會讓你和這裏的其他人知道它一旦完成就會工作。 – user7186
這很好,這是一個很好的解決方案。謝謝。 – user7186