我有兩個tex文件包含不同數量的行和列。現在我想將一個tex文件中的列表與其他文件進行比較,如果它與其他文件中的列表匹配,則打印相應的編號。對於例如我的文件看起來像蟒蛇循環不等列表行
test1.txt test2.txt
XCJ2200, B XCJ1945, A, 0.1
XCJ2345, E XCJ2200, B, 0.2
XCJ2568, F XCJ2450, C, 0.3
.... XCJ2590, D, 0.4
XCJ3000, E, 0.4
....
所以,現在我想匹配test1.txt的col 1和2與test2.txt的col 1和2。所以我想最終的輸出
XCJ2200 0.2
XCJ2345 0.4
XCJ2568
....
到目前爲止,我已經寫了下面的代碼,但它不給答案,因爲我想:
reader1=csv.reader(open('test1.txt','rb'))
reader2=csv.reader(open('test2.txt','rb'))
col1=[];col2=[];Col1=[];Col2=[];Col3=[]
for row in reader1:
col1.append((row[0]))
col2.append((row[1]))
for row in reader2:
Col1.append((row[0]))
Col2.append((row[1]))
Col3.append((row[2]))
for i in range(len(col1)):
for j in range(len(Col1)):
if Col1[j]==col1[i] or Col2[j]==col1[i]:
print col1[i],Col3[j]
else:
print col1[i]
此代碼打印test1.txt的山坳的1在多次test2.txt的列1的長度。我知道在最後的if和else條件中有錯誤。
你可以附加什麼代碼打印出來嗎?或者它的樣本? 另外,我不明白'Col2 [j] == col1 [i]'會如何返回true。我認爲你的意思是'Col2 [j] == col2 [i]' – WhiteTiger
是的你是對的。它是Col2 [j] == col2 [i]。此代碼是給我XCJ2200 XCJ2200 0.2 XCJ2200 XCJ2200 XCJ2345 XCJ2345 XCJ2345 0.3 XCJ2345 –