我有下面的格式2個CSV文件:Python的比較兩個CSV文件,並且將數據追加到csv文件
首先是outputTweetsDate.csv:
Here is some text;13.09.13 16:45
Here is more text;13.09.13 16:45
And yet another text;13.09.13 16:46
第二個文件是apiSheet.csv :
13.09.13 16:46;89.56
13.09.13 16:45;90.40
我想這兩個文件進行比較,如果兩個日期時間值匹配的文本和數據添加到一個新文件(finalOutput.csv):
|89.56|,|Here is some text|
|89.56|,|Here is more text|
|90.49|,|And yet another text|
這是我的代碼,我到目前爲止有:
with open("apiSheet.csv", "U") as in_file1, open("outputTweetsDate.csv", "rb") as in_file2,open("finalOutput.csv", "wb") as out_file:
reader1 = csv.reader(in_file1,delimiter=';')
reader2 = csv.reader(in_file2,delimiter='|')
writer = csv.writer(out_file,delimiter='|')
for row1 in reader1:
for row2 in reader2:
if row1[0] == row2[1]:
data = [row1[1],row2[0]]
print data
writer.writerow(data)
我修改了代碼,它現在的作品,到目前爲止,但它並不低谷遍歷所有代碼正確。 瞬間我的輸出是這樣的:
|89.56|,|Here is some text|
|89.56|,|Here is more text|
所以它不顯示我的第三個,即使它們是相同的。它似乎不是通過文件迭代。
謝謝!
行是按時間順序排列的嗎?或者,file1中第一行對應的某個日期是否在file2的最後一行(或者根本沒有?) –
如果時間戳是唯一的,我將使用timestamp作爲key併合並它們。 –
@Ofir yes行按時間順序排列 – Max