Загрузка файла с несколькими строками JSON в Pandas Pandas

Я пытаюсь прочитать в json-файл в кадре данных pandas. Вот первая строка 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 "<stdin>", line 1, in <module> 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 ? Как его прочитать в кадре данных?

EDIT: после некоторых предложений, вот несколько строк файла .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', '}', ',', ']' 

  • Как выбрать бункеры в гистограмме matplotlib
  • как установить six.moves.xmlrpc_client?
  • Преобразование строкового файла в файл формата json
  • scrapy, как импортировать настройки, чтобы переопределить его
  • Могу ли я выполнить scrapy (python) сканирование вне проекта dir?
  • Python Selenium Exception AttributeError: «Объект« Сервис »не имеет атрибута« процесс »в selenium.webdriver.ie.service.Service
  • Продолжить получение объекта «список» не имеет атрибута «split»
  • Как получить разрывы строк в электронной почте, отправленные с помощью smtplib Python?
  • 2 Solutions collect form web for “Загрузка файла с несколькими строками JSON в Pandas Pandas”

    Из версии 0.19.0 из Pandas вы можете использовать параметр lines , например:

     import pandas as pd data = pd.read_json('/path/to/file.json', lines=True) 

    Вы должны прочитать это по строкам. Например, вы можете использовать следующий код, предоставленный ryptophan on reddit :

     import pandas as pd # read the entire file into a python array with open('your.json', 'rb') as f: data = f.readlines() # remove the trailing "\n" from each line data = map(lambda x: x.rstrip(), data) # each element of 'data' is an individual JSON object. # i want to convert it into an *array* of JSON objects # which, in and of itself, is one large JSON object # basically... add square brackets to the beginning # and end, and have all the individual business JSON objects # separated by a comma data_json_str = "[" + ','.join(data) + "]" # now, load it into pandas data_df = pd.read_json(data_json_str) 
    Interesting Posts

    Python wait x secs для ключа и продолжения выполнения, если не нажата

    Поиск локальных IP-адресов с использованием stdlib Python

    команды в tkinter, когда использовать лямбда и обратные вызовы

    Инициализация списка на известное количество элементов в Python

    Найти самую длинную общую начальную подстроку в наборе строк

    Использование оператора «==» для трех объектов

    Как преобразовать текущую дату в временную метку эпохи?

    Как я могу остановить csv.DictWriter.writerows Python от добавления пустых строк между строками в Windows?

    Сортировка чисел в строчном формате с помощью Python

    вы можете восстановить после переназначения __builtins__ в python?

    Что лучше, ConfigObj или ConfigParser?

    scrapy, как сделать свой собственный графический планировщик

    Python: Dump to Json добавляет дополнительные двойные кавычки и escape-котировки

    Фильтрация определенных байтов в python

    Любое предложение использовать неблокирующий MySQL api на Tornado в Python3?

    Python - лучший язык программирования в мире.