У меня есть json-файл, из которого я пытаюсь удалить повторяющиеся объекты Json. Ниже приведен пример этого файла и мой подход.Удаление дубликатов объектов JSON из файла
{"published": "Tue, 03 Mar 2015 11:39:11 GMT", "title": "Goat Goat"}
{"published": "Tue, 03 Mar 2015 11:39:11 GMT", "title": "Goat Goat"}
{"published": "Tue, 03 Mar 2015 11:24:15 GMT", "title": "Cat cat"}
{"published": "Tue, 03 Mar 2015 11:19:29 GMT", "title": "Chicken Chicken"}
{"published": "Tue, 03 Mar 2015 11:19:29 GMT", "title": "Chicken Chicken"}
{"published": "Tue, 03 Mar 2015 10:50:15 GMT", "title": "Dog Dog"}
{"published": "Tue, 03 Mar 2015 10:34:45 GMT", "title": "Cat cat"}
Мой подход заключается в создании сценария с инициализацией пустой список, чтение каждой строки (объекта) в файле для проверки уникальных названий и написания уникальных объектов в новый файл JSON.
from sys import argv
script, input_file, output_file = argv
input_file = open(input_file)
output_file = open(output_file, 'a')
unique = []
while True:
A = input_file.readline()
if A['title'] not in unique:
unique.append(A['title'])
output_file.write(A)
Однако я получаю сообщение об ошибке ниже:
Traceback (most recent call last):
File "test_run.py", line 13, in <module>
if A['title'] not in unique:
TypeError: string indices must be integers, not str
Новое в Python, так бы признателен за любые идеи.
Вы должны фактически разобрать в JSON из файла. Вы просто читаете строки и индексируете, как если бы они были объектами json, что неверно. –