Разбор значений JSON в пандах read_json

1

Я читаю json файл для получения данных. Json начинается следующим образом:

{
"rows": [
    [
        2013,
        "Mazda",
        "3",
        "917723",
        7795,
        20895
    ],
    [
        2016,
        "Cadillac",
        "ATS",
        "DD16135D",
        54890,
        66000
    ]

Я пытаюсь получить значения в строке в отдельные столбцы. Я попытался сделать следующее:

df = pd.read_json(path, orient='values')

и получил результат:

    rows
0  [2013, Mazda, 3, 917723, 77...
1  [2016, Cadillac, ATS, DD161...
2  [2015, Mitsubishi, Outlander,...
3  [2016, BMW, 528I, 918058, 3...
4  [2015, Toyota, Venza, 91806...

В конечном счете, я хотел бы иметь 7 столбцов в моем кадре данных, каждый столбец представляет каждый элемент в строке. Как я могу это достичь?

Теги:
pandas
dataframe
dictionary

1 ответ

2
Лучший ответ

Вы можете прочитать json файл в словаре и выбрать ключ 'rows':

# replace data with open('data.json')
with data as f:
    df = pd.DataFrame(json.load(f)['rows'])

print(df)

      0         1    2         3      4      5
0  2013     Mazda    3    917723   7795  20895
1  2016  Cadillac  ATS  DD16135D  54890  66000

Настроить

from io import StringIO
import json

data = StringIO("""{
"rows": [
    [
        2013,
        "Mazda",
        "3",
        "917723",
        7795,
        20895
    ],
    [
        2016,
        "Cadillac",
        "ATS",
        "DD16135D",
        54890,
        66000
    ]]}""")
  • 0
    Отлично, спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню