У меня есть два файла, один содержит список данных, разделенных табуляцией, а второй содержит список идентификаторов элементов, который является одним полем. Я хотел бы сравнить каждое первое поле в более крупном файле (file1) со всеми идентификаторами строк/элементов в наименьшем файле (файл2), а затем, если сравниваемый id не существует во втором файле, я хочу написать всю информацию, связанную с сравниваемый элемент в первом файле (это содержимое линии, разделенное вкладкой). Я попробовал код ниже, но у меня проблема с циклами. Первый цикл не увеличивается, а второй - для всех вторых строк. Кроме того, я хочу, чтобы номер позиции был написан один раз, что является проблемой в выражении If.Сравнение двух текстовых файлов для удаления дубликатов более длинного
for lines in alldata:
for lines1 in olddata:
old_data=lines1.split('\r\n')
dataId=old_data[0]
data=lines.split('\t')
photoid=data[0]
if photoid==dataId:
break
else:
#continue
#print('matching',lines)
#break
w=open(head+'......................../1.txt','a')
w.write(lines)
Это пример структуры файлов:
15463774518 2014-10-28 08:12:31 2014-10-28 13:12:31
15628560471 2014-10-26 07:40:28 2014-10-26 12:40:28
15444098878 2014-10-26 04:49:19 2014-10-26 09:49:19
15437269197 2014-10-25 09:55:11 2014-10-25 15:55:11
небольшой файл выглядит следующим образом:
139747955
2417570005
2478707302
1808883457
211514265
Было бы очень полезно увидеть образец содержимого вашего файла. Кроме того, можете ли вы указать указатель на размер файлов? Достаточно ли они достаточно малы для хранения в памяти? –
Файлы имеют разные размеры, так как я использую другой размер данных, для большого файла мин. размер составляет 50 КБ, а некоторые из файлов - более 5 МБ. файлы меньшего размера - макс. 20 КБ. – Samah