我有一堆文件名,我需要將它們放在一起並放到一個新文件中。第一列是日期。如果日期從一個文件重疊到另一個文件,我希望下一個要追加的文件替換已有的文件。例如,如果第一個文件是一樣的東西:使用Python替換某些行並在CSV文件中附加其餘行
1/5/2010 'hello'
1/6/2010 'goodbye'
1/7/2010 'yes'
和第二個文件是:
1/7/2010 'No'
1/8/2010 "spam'
1/9/2010 'today'
我想我的新文件看起來像這樣:
1/5/2010 'hello'
1/6/2010 'goodbye'
1/7/2010 'No'
1/8/2010 'spam'
1/9/2010 'today'
眼下我正在嘗試這樣的事情,但沒有得到正確的結果。 (閱讀器2和讀取器分別是指第二個文件和所述第一文件,newfile2.csv已經有文件1的內容)
for row in reader2:
for row2 in reader:
if row == row2:
target = open('newfile2.csv', 'wb')
writer = csv.writer(target)
writer.writerow(row)
target.close()
else:
target = open('newfile2.csv', 'ab')
writer = csv.writer(target)
writer.writerow(row)
target.close()
任何想法將不勝感激。謝謝 好吧,所以我想我應該在閱讀完一些評論後澄清一下。順序很重要。在這個代碼的最後,我希望每年的每一天的數據都是按順序排列的。好消息是數據已經在文件中有序,只有一些重複。
有一個以上的重複。例如,我實際處理的第一個文件一直持續到3月9日,而我希望它在2月底停止。我想從我的第二個文件中獲取所有3月份的數據。
此外,大約有1500多行,因爲在真實文件中,一天中的每個小時也是行的一部分。
我希望澄清我需要做的事情。
我覺得像我上面發佈的代碼,但只檢查每一行的第一列(因爲只有日期將是對方的重複)可能工作?現在我正在檢查整行,而日期是重複的,整個行是唯一的。
哦,是的最後一件事。我想要刪除所有重複項。
這根本不保持行的順序。此外,它消除了所有重複項,而不僅僅是連接文件結尾的順序重複項。 – agf
@agf,對。這個問題在你的問題中沒有明確說明......它們有多重疊?只有最後一行? – joaquin
不是我的問題。只是說不清楚他做了什麼,特別是在訂購方面。 – agf