我有兩個CSV文件需要從中提取正確的匹配。我想比較第一個文件中的每一行,並說明它在文件二中的任何一行上是否有匹配的值。如果找到匹配項,則聲音會移至fileOne中的下一行並重復。在兩個csv文件之間匹配python值
下面是我到目前爲止的代碼,但它似乎只是直接在每個文件行之間進行比較。因此,文件1中的第一行僅與文件2中的第一行進行比較,而不是循環遍歷文件2中的所有行,直到找到匹配或不匹配。
我懷疑它與我如何設置我的for循環有關,但我不確定。
import csv
fileOne = csv.reader(open("fileone.csv", "r"))
fileTwo = csv.reader(open("filetwo.csv", "r"))
for row1 in fileOne:
for row2 in fileTwo:
row1String = row1[1].upper() + row1[0].upper()
row2String = row2[1].upper() + row2[0].upper()
if row1String == row2String:
print "Matched %s, %s, %s" % (row1[1], row2[1], row1[0])
break
else:
print "No Match, %s" % (row1[0])
break
'csv.reader'是一個迭代器 - 嘗試'fileOne = list(...)'。 – jonrsharpe
謝謝,這工作完美。 – andyp