Загрузка файла больше чем с одной строкой JSON в Панд

Я пытаюсь читать в файле JSON в панд Python (0.14.0) кадр данных. Вот первая строка строки файла JSON:

{"votes": {"funny": 0, "useful": 0, "cool": 0}, "user_id": "P_Mk0ygOilLJo4_WEvabAA", "review_id": "OeT5kgUOe3vcN7H6ImVmZQ", "stars": 3, "date": "2005-08-26", "text": "This is a pretty typical cafe.  The sandwiches and wraps are good but a little overpriced and the food items are the same.  The chicken caesar salad wrap is my favorite here but everything else is pretty much par for the course.", "type": "review", "business_id": "Jp9svt7sRT4zwdbzQ8KQmw"}

Я пробую, делают следующее:df = pd.read_json(path).

Я получаю следующую ошибку (с полным traceback):

Traceback (most recent call last):
  File "", line 1, in 
  File "/Users/d/anaconda/lib/python2.7/site-packages/pandas/io/json.py", line 198, in read_json
    date_unit).parse()
  File "/Users/d/anaconda/lib/python2.7/site-packages/pandas/io/json.py", line 266, in parse
    self._parse_no_numpy()
  File "/Users/d/anaconda/lib/python2.7/site-packages/pandas/io/json.py", line 483, in _parse_no_numpy
    loads(json, precise_float=self.precise_float), dtype=None)
ValueError: Trailing data

Что Trailing data ошибка? Как я читаю его в кадр данных?

После некоторых предложений вот немного строк .json файла:

{"votes": {"funny": 0, "useful": 0, "cool": 0}, "user_id": "P_Mk0ygOilLJo4_WEvabAA", "review_id": "OeT5kgUOe3vcN7H6ImVmZQ", "stars": 3, "date": "2005-08-26", "text": "This is a pretty typical cafe.  The sandwiches and wraps are good but a little overpriced and the food items are the same.  The chicken caesar salad wrap is my favorite here but everything else is pretty much par for the course.", "type": "review", "business_id": "Jp9svt7sRT4zwdbzQ8KQmw"}
{"votes": {"funny": 0, "useful": 0, "cool": 0}, "user_id": "TNJRTBrl0yjtpAACr1Bthg", "review_id": "qq3zF2dDUh3EjMDuKBqhEA", "stars": 3, "date": "2005-11-23", "text": "I agree with other reviewers - this is a pretty typical financial district cafe.  However, they have fantastic pies.  I ordered three pies for an office event (apple, pumpkin cheesecake, and pecan) - all were delicious, particularly the cheesecake.  The sucker weighed in about 4 pounds - no joke.\n\nNo surprises on the cafe side - great pies and cakes from the catering business.", "type": "review", "business_id": "Jp9svt7sRT4zwdbzQ8KQmw"}
{"votes": {"funny": 0, "useful": 0, "cool": 0}, "user_id": "H_mngeK3DmjlOu595zZMsA", "review_id": "i3eQTINJXe3WUmyIpvhE9w", "stars": 3, "date": "2005-11-23", "text": "Decent enough food, but very overpriced. Just a large soup is almost $5. Their specials are $6.50, and with an overpriced soda or juice, it's approaching $10. A bit much for a cafe lunch!", "type": "review", "business_id": "Jp9svt7sRT4zwdbzQ8KQmw"}

Этот .json файл, который я использую, содержит один объект JSON в каждой строке согласно спецификации.

Я попробовал веб-сайт jsonlint.com, как предложено, и он дает следующую ошибку:

Parse error on line 14:
...t7sRT4zwdbzQ8KQmw"}{    "votes": {
----------------------^
Expecting 'EOF', '}', ',', ']'

57
задан 25 July 2019 в 02:01

2 ответа

Следующий код помог мне загрузить содержание JSON в кадр данных:

import json
import pandas as pd

with open('Appointment.json', encoding="utf8") as f:
    data = f.readlines()
    data = [json.loads(line) for line in data] #convert string to dict format
df = pd.read_json(data) # Load into dataframe
1
ответ дан 1 November 2019 в 15:24

У меня была подобная проблема.

оказывается, что pd.read_json(myfile.json) будет искать в родительской папке автоматически, но это возвращает эти 'запаздывающие данные' ошибка, если Вы не находитесь в той же папке как файл.

я понял это, потому что, когда я пытался сделать это с open('myfile.json', 'r'), и я добрался FileNotFound ошибка, таким образом, я проверил пути.

мне не удалось переместить myfile.json в ту же папку как мой ноутбук.

Изменение его к pd.read_json('../myfile.json') просто работало.

0
ответ дан 1 November 2019 в 15:24

Другие вопросы по тегам:

Похожие вопросы: