У меня есть два файла tex, которые содержат неравное количество строк и столбцов. Теперь я хочу сравнить список одного файла tex с другим файлом, а если он совпадает, то напечатайте соответствующий номер. Напр. мои два файла выглядит какpython доступ к неравной строке и столбцу
test1.txt test2.txt
XCJ2200, XCJ1945,A,0.1
XCJ2345,E XCJ2200,B,0.2
XCJ2568,F XCJ2450,C,0.3
.... XCJ2590,D,0.4
XCJ3000,E,0.5
....
Я хочу, чтобы соответствовать колонку 1 и 2 test1.txt с колонкой 1 и 2 test2.txt и хочет после окончательного вывода
XCJ2200 0.2
XCJ2345 0.5
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]==col2[i]:
print col1[i],Col3[j]
else:
print col1[i]
Этот код дает мне следующий вывод
XCJ2200
XCJ2200 0.2
XCJ2200
XCJ2200
XCJ2200
XCJ2345
XCJ2345
XCJ2345
XCJ2345
XCJ2345 0.5
XCJ2568
XCJ2568
XCJ2568
XCJ2568
XCJ2568
Этот код печатает col 1 из test1.txt в несколько раз длины col 1 файла test2.txt. Я знаю, что что-то не так в последнем состоянии цикла. Пожалуйста, дайте мне знать возможное решение этой проблемы.
Не используйте оператор еще для печати столбец вы не хотите ? – Programmer
Затем он просто распечатает XCJ2200 0.2 XCJ2345 0.5 –
@viralparekh «' XCJ2200 »' и т. Д. Всегда уникален в csv1 или csv2? – KobeJohn