0
我有三個文件。我想比較列表中水果和匹配的水果,我想將匹配的水果附加到Append.txt文件,然後按升序排序。比較兩個CSV文件中的值,附加價值爲文本文件
test1.csv
CustID,Name,Count,Item,Date
23,Smith,8,apples,08/12/2010
1,Jones,8,banana,03/26/2009
15,Miller,2,cookie dough,03/27/2009
6,Fisher,8,oranges,06/09/2011
test2.csv
FRUIT,Amount,Aisle
oranges,1,1
apples,1,1
pears,1,1
Append.txt
Fruit,Total,Aisle
cherries,1,1
dates,2,1
grapes,5,1
kiwis,2,2
peaches,2,2
plums,1,1
watermelon1,2
代碼:
import csv
# Iterate through both reader1 and reader2, compare common row, and append matching column data to test.txt in its matching column
with open("C:\\Test\\Append.txt", 'a') as f:
reader1 = csv.reader(open("C:\\Test\\test1.csv", 'rb'), delimiter=',')
row1 = reader1.next()
reader2 = csv.reader(open("C:\\Test\\test2.csv", 'rb'), delimiter=',')
row2 = reader2.next()
if (row1[3] == row2[0]):
print "code to append data from row1[0] to test.txt row[0] goes here"
f.close()
exit
print "code to sort test.txt ascending on column[0] goes here"
我的初始腳本不起作用。檢查後我可以看到,代碼只比較行1與行1,行2與2等,我真的希望它比較所有行(行1與行1,行1與行2,行2與行1,行2與第2行等)。在運行主腳本之後,測試文件可以填充沒有記錄或最多5條記錄。追加文件可以是空的或有數百個記錄。使用python 2.7。
我也不能確定如何在完成時按升序排序文件。
總的來說它的工作,。我刪除了|在第12行,並將第15行的'w'更改爲'a',否則它覆蓋Append.txt文件中的現有數據。無論如何要在追加文件的末尾添加換行符?對於這些新手(像我)不要忘記導入csv。雅虎。謝謝。 – user12059
@ user12059:對,我的解釋稍有不同。如果你刪除了'|',那麼你並不關心'Append.txt'中列出的果子*,所以我刪除了完全讀取該文件。爲你增加了額外的換行符。 –
完美。現在對我來說,它將嵌套在最後一個括號內。你今天的新BFF。 :-) – user12059