Загрузка серии JSON-объектов в панде. - PullRequest
0 голосов
/ 03 октября 2018

Я скачал образец набора данных из здесь , который представляет собой серию объектов JSON.

{...}
{...}

Мне нужно загрузить их в информационный фрейм pandas.Я пробовал ниже код

import pandas as pd
import json

filename = "sample-S2-records"

df = pd.DataFrame.from_records(map(json.loads, "sample-S2-records"))

Но, кажется, есть ошибка синтаксического анализа

JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Что я пропускаю?

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Функция нуждается в списке объектов JSON.Например, data = [json_obj_1, json_obj_2, ....]

Файл не содержит синтаксиса для списка и содержит только серии объектов JSON.Следующее решило бы проблему:

import pandas as pd
import json

# Load content to a variable
with open('../sample-S2-records/sample-S2-records', 'r') as content_file:
    content = content_file.read().strip()

# Split content by new line
content = content.split('\n')

# Read each line which has a json obj and store json obj in a list
json_list = []
for each_line in content:
    json_list.append(json.loads(each_line))

# Load the json list in form of a string
df = pd.read_json(json.dumps(json_list))
0 голосов
/ 03 октября 2018

Вы можете попробовать pandas.read_json метод:

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

Я проверил его с этим файлом, он отлично работает

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