我有两个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 –