Мне удалось взять текстовый файл, прочитать каждую строку, создать словарь для каждой строки, обновить (добавить) каждую строку и сохранить файл json. Проблема в том, что при чтении файла JSON он не будет прочитан правильно. ошибка указывает на проблему сохранения файла?
Текстовый файл выглядит так:
84.txt;Франкенштейн или Современный Прометей;Мэри Уолстонкрафт (Годвин) Шелли 98.txt;Повесть о двух городах;Чарльз Диккенс ...
import json
import re
path = "C:\\...\\data\\"
books = {}
books_json = {}
final_book_json ={}
file = open(path + 'books\\set_of_books.txt', 'r')
json_list = file.readlines()
open(path + 'books\\books_json.json', 'w').close() # used to clean each test
json_create = []
i = 0
for line in json_list:
line = line.replace('#', '')
line = line.replace('.txt','')
line = line.replace('\n','')
line = line.split(';', 4)
BookNumber = line[0]
BookTitle = line[1]
AuthorName = line[-1]
file
if BookNumber == ' 2701':
BookNumber = line[0]
BookTitle1 = line[1]
BookTitle2 = line[2]
AuthorName = line[3]
BookTitle = BookTitle1 + ';' + BookTitle2 # needed to combine title into one to fit dict format
books = json.dumps( {'AuthorName': AuthorName, 'BookNumber': BookNumber, 'BookTitle': BookTitle})
books_json = json.loads(books)
final_book_json.update(books_json)
with open(path + 'books\\books_json.json', 'a'
) as out_put:
json.dump(books_json, out_put)
with open(path + 'books\\books_json.json', 'r'
) as out_put:
'books\\books_json.json', 'r')]
print(json.load(out_put))
Сообщенная ошибка: JSONDecodeError: Дополнительные данные: строка 1 столбец 133 (символ 132) - добавление это прямо между первым "} {",Не знаете, как должен выглядеть json в формате плоского файла? Выходной файл, видимый в редакторе, выглядит следующим образом: {"AuthorName": "Мэри Уолстонкрафт (Годвин) Шелли", "BookNumber": "84", "BookTitle": "Франкенштейн или Современный Прометей"} {"AuthorName": "Чарльз Диккенс", "BookNumber": "98", "BookTitle": "Повесть о двух городах"} ...