Я пытаюсь извлечь 100 первых вхождений каждого элемента списка file_1.txt в новый файл. Перечень пунктов (так называемый целевой в коде ниже) состоит из первого столбца file_1.txtpython - extract N вхождения элементов в список файлов
file_1.txt
now:::ADV 1.48 be:::V 1.85 5488284
then:::ADV 1.44 be:::V 1.85 3994804
now:::ADV 1.48 have:::V 2.18 1760901
then:::ADV 1.44 have:::V 2.18 1099284
enough:::ADV 1.33 be:::V 1.85 928947
suppose:::V 1.37 be:::V 1.85 874407
ever:::ADV 1.48 be:::V 1.85 859428
код, который я пытался здесь:
with open('file_1.txt', 'r') as infile, open('file_2.txt', 'w') as outfile:
target = []
i = 1
for line in infile:
columns = line.split("\t")
column_1 = columns[0]
if column_1 not in target:
target.append(column_1)
for item in target:
if line.startswith(item) and i <=100:
outfile.write(line)
i += 1
Это, конечно, просто печатает 100 первых строк файла file_1.txt в file_2.txt. Есть ли питонический способ чтения только по одной строке за раз, добавив его к целевому и поискам 100 первых вхождений, напечатайте его в файл_2.txt и продолжите со следующим уникальным словом в столбце 1 файла file_1.txt?
Я очень благодарен за любую помощь или предложения.
Вам нужен выход в порядке появления цели или в порядке 100-го появления в порядке? –
@Paul Panzer заказ не имеет значения, как только он находится в 100-м месте –