我被鼓勵離開我的舒適區,並且使用python,但幾乎沒有經驗,現在我卡住了。我試圖比較兩個CSV文件(fileA.csv和fileB.csv),並將所有缺少的用戶行添加到fileB.csv的fileA.csv中。我可以比較的唯一字段是用戶的姓和名(在這種情況下,它是來自每個文件的行[0]和行[2])。根據兩列中的特定數據比較兩個CSV文件
從我的理解,你不能將信息追加到你目前已經打開的文件,所以我打開建議,而不必創建第三個文件(如果可能)。下面有我在正確的軌道上,但有很多數據,所以我需要一個循環。請幫忙。
import csv
reader1 = csv.reader(open('fileA', 'rb'), delimiter=',', quotechar='|')
row1 = reader1.next()
reader2 = csv.reader(open('fileB', 'rb'), delimiter=',', quotechar='|')
row2 = reader2.next()
##For Loop...
if (row1[0] == row2[0]) and (row1[2] == row2[2]):
## Compare next
else:
## Append entire row to fileA.csv
例FileA.csv:
John,Thomas,Doe,some,other,stuff
Jane, ,Smith,some,other,stuff
例FileB.csv:
John, ,Doe,other,personal,data
Jane,Elizabeth,Smith,other,personal,data
Robin,T,Williams,other,personal,data
應從FILEB追加到FILEA唯一的行知更鳥的完整的行,這樣FileA看起來像:
DesiredR esult_FileA:
John,Thomas,Doe,some,other,stuff
Jane, ,Smith,some,other,stuff
Robin,T,Williams,other,personal,data
那是語法是否正確? file_a,打開('fileB','rb')作爲file_b: – justin 2013-03-27 10:50:47
@justin:它在Python 2.7中。在早期版本中,只需嵌套兩個(因此將它們分隔開來並縮進一級)。 – 2013-03-27 10:51:05
@DSM:感謝您的糾正。 – 2013-03-27 12:03:37