#python #json #pycharm
#python #json #pycharm
Вопрос:
При попытке чтения из моего JSON-файла с именем «RC_2015-01» я получаю ошибку декодирования. Проблема возникает в строке 8 извлечения «для строки в f:».
Другие пользователи не сообщали о проблемах с файлом JSON, поэтому я считаю, что это проблема с моим кодом.
Я использую python 3.7 и pycharm в качестве моей IDE.
Я пытался добавить несколько параметров encoding = «example» в функцию open, но безуспешно.
if __name__ == '__main__':
create_table()
row_counter = 0
paired_rows = 0
with open('RC_{}.bz2'.format(timeframe), buffering=1000) as f:
print(f)
for row in f:
print(row)
row_counter = 1
row = json.loads(row)
parent_id = row['parent_id']
body = format_data(row['body'])
created_utc = row['created_utc']
score = row['score']
comment_id = row['name']
subreddit = row['subreddit']
Комментарии:
1. У этого будет проблема, потому что вы не используете
json
модуль для разбора всего файла. Вы не можете обрабатывать JSON как обычный файл и надеяться, что анализатор будет работать, читая строки.2. Может быть, откройте этот файл и попробуйте проверить строку вручную?
3. Это действительно в формате JSON Lines ?
Ответ №1:
С вашей помощью я обнаружил, что ошибка заключалась в попытке чтения непосредственно из заархивированного файла, после извлечения файл можно было прочитать без проблем.