Ошибка чтения большого файла json из-за json.load - PullRequest
0 голосов
/ 21 октября 2019

У меня проблема с чтением большого файла JSON. JSONDecodeError: Дополнительные данные: строка 1 столбца 884 (символ 883). enter image description here

Файлы test2.json находятся здесь: https://github.com/SilverYar/TransportDataMiner

Ошибка связана с этими строками кода строки:

import nltk
from nltk.stem.snowball import RussianStemmer
from nltk.corpus import stopwords
import nltk, string, json

with open('C:\\Creme\\token\\test2.json') as fin:
    text = json.load(fin)

Я не понимаю, как это исправить. Помогите мне исправить это.

1 Ответ

2 голосов
/ 21 октября 2019

Содержимое вашего файла json не соответствует действительности, есть несколько объектов, но они не разделены ",".

Например, допустимый объект json должен быть:

[{"title":"some text", "subtitle": "some text"},
 {"title":"some text", "subtitle": "some text"},
{"title":"some text", "subtitle": "some text"}]

Простой способ прочитать его - прочитать файл и отформатировать строку в правильные форматы json:

with open('test2.json', 'r') as fin:
    text = fin.read()
    formated_text = text.replace('}{', '},{')
    json_data = json.loads(f'[{formated_text}]')

print(len(json_data))
# 11772
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...