В настоящее время у меня есть скрипт, который отлично работает для извлечения данных из одного файла на основе ключевых слов из второго файла (белого списка) и записи извлеченных данных в третий файл
import sys
import csv
input_file = csv.DictReader(open(sys.argv[1], "rU"))
white_list_file = csv.DictReader(open(sys.argv[2], "rU"))
output_file = csv.DictWriter(open(sys.argv[3], "w"), input_file.fieldnames)
output_file.writeheader()
white_list = {} #load empty dictionary
for record in white_list_file:
white_list[record["key_word"]] = None
for record in input_file: #for every item in my input file
record_id = record["key_word"] #assign column with key word from input file as a variable
if (record_id in (white_list)): # if this key word is in my white list,
output_file.writerow(record) # then I write the whole line in my output file
else: # if not, then ignore this line and move on to the next line
continue
Однако,Результатом выходного файла является устаревшая версия моего исходного входного файла.В прошлом это работало нормально для меня, но теперь мне нужен новый скрипт, который НЕ будет дублировать мои результаты.
Итак, если мой входной файл содержит ключевое слово в 3 разных строках, я хочу, чтобы мой выходной файл былУ меня также есть это ключевое слово и связанная с ним информация 3 раза.
Я попытался решить проблему изменения сценария с помощью метода "counter", чтобы подсчитать, сколько раз ключевое слово было найдено в моем белом списке, но этоне работает или не дает желаемого результата.
Есть ли простой способ изменить мой сценарий так, чтобы выходной файл не был отменен?