Проблемы с импортом файла с пандами read_json - PullRequest
0 голосов
/ 05 декабря 2018

Я новичок в Python (я использую python 3) и пытаюсь импортировать файл JSON в блокнот Jupyter.Однако, это дает ошибку ниже:

UnicodeDecodeError: 'charmap' codec can't decode byte 0x8d in position 4276350: character maps to <undefined> 

Ниже приведен код:

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib as plt
import json
%matplotlib inline

with open('C:\\Users/Desktop/Machine  Learning/yelp_academic_dataset_business.json') as datafile:
data = pd.read_json(datafile,orient='columns',encoding='utf-8')
dataframe = pd.DataFrame(data)

Буду признателен за любую помощь.

1 Ответ

0 голосов
/ 05 декабря 2018

Предполагая, это файл, который вы пытаетесь импортировать, на самом деле это много объектов JSON, по одному на строку.Вы должны импортировать его построчно, указав lines=True:

data = pd.read_json(datafile, lines=True, orient='columns', encoding='utf-8')

Кроме того, передайте путь к файлу в качестве первого аргумента, а не содержимое файла.Вы можете избавиться от кода для открытия файла.Кроме того, pd.read_json возвращает DataFrame, последняя строка вашей программы не нужна:

>>> data = pd.read_json('yelp_academic_dataset_business.json', lines=True, orient='columns', encoding='utf-8')
>>> data
                                              attributes             business_id                                         categories             city    ...    review_count stars  state      type
0      {'Take-out': False, 'Wi-Fi': 'free', 'Good For...  O_X3PGhk3Y5JWVi866qlJg  [Active Life, Arts & Entertainment, Stadiums &...          Phoenix    ...              29   4.0     AZ  business
1      {'Parking': {'garage': False, 'street': False,...  QbrM7wqtmoNncqjc6GtFaQ  [Tires, Automotive, Fashion, Shopping, Departm...         Glendale    ...               3   3.5     AZ  business
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...