Конвертировать файл JSON - PullRequest
0 голосов
/ 07 мая 2018

У меня есть набор данных в формате JSON. Насколько я понимаю, JSON непригоден для использования, и мне нужно преобразовать его в какой-то формат таблицы, чтобы я мог использовать его в качестве набора данных.

Я попытался преобразовать файл в CSV. Это работает, но не получается правильно. Это заканчивается как без надлежащей маркировки и столбцов. Это можно обойти?

Это пример набора данных.

{
  "data": {
    "1": {
      "id": 1,
      "items": [
        "bar",
        "cream"
      ],
      "extras": {},
      "supply": "crate"
    }
}

Это то, что я сделал с пандами.

import pandas as pd
pd.read_json("myfile.json").to_csv("new.csv")

1 Ответ

0 голосов
/ 07 мая 2018

Вам нужно вызвать pd.read_json с правильным параметром orient.

Это из read_json doc :

orient: string,

Указание ожидаемого формата строки JSON. Совместимые строки JSON могут быть получены с помощью to_json () с соответствующим значением orient. Набор возможных ориентиров:

'split': диктовать как {индекс -> [индекс], столбцы -> [столбцы], данные -> [значения]}

'records': список, подобный [{column -> value}, ..., {column -> value}]

'index': похож на {index -> {column -> value}}

'столбцы': похожи на {столбец -> {индекс -> значение}}

'значения': только массив значений

В вашем случае, я думаю pd.read_json("myfile.json", orient="values") должно работать.

Если у вас есть вложенные поля json, вам также придется использовать pd.json_normalize() для выравнивания вложенных полей (см. здесь ).

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