Я пытаюсь изменить сценарий так, чтобы он удалял повторяющиеся строки из текстового файла, используя только часть заголовка этой строки.Удаление повторяющихся строк только по заголовкам
Для уточнения текстового файла, строки выглядят примерно так:
Title|Image Url|Description|Page Url
На данный момент скрипт делает удаление дубликатов, но это не так, прочитав всю строку, а не только первая часть. Все строки в файле не будут на 100% одинаковыми, но некоторые из них будут очень похожи.
Я хочу удалить все строки, содержащие один и тот же «заголовок», независимо от того, что содержит остальная часть строки.
Это сценарий, я работаю с:
import sys
from collections import OrderedDict
infile = "testfile.txt"
outfile = "outfile.txt"
inf = open(infile,"r")
lines = inf.readlines()
inf.close()
newset = list(OrderedDict.fromkeys(lines))
outf = open(outfile,"w")
lstline = len(newset)
for i in range(0,lstline):
ln = newset[i]
outf.write(ln)
outf.close()
До сих пор я попытался с помощью .split()
разделить строки в списке. Я также попробовал .readline(lines[0:25])
в надежде использовать лимит символов для достижения желаемых результатов, но пока не повезло. Я также не могу найти документацию по моей точной проблеме, поэтому я застрял.
Я использую Windows 8 и Python 2.7.9 для этого проекта, если это помогает.
Спасибо! Это было именно то, что мне нужно. – lostintranslation