Преобразование кадра данных в json в Python - PullRequest
0 голосов
/ 02 мая 2018

У меня есть такой фрейм данных:

dis equip siteRef installed RTU-1 m r:153c-699a HQ d:2005-06-01 RTU-2 m r:153c-699a HQ d:999-07-12

Мне нужен JSON в формате:

`{
  "meta": {"ver":"2.0", "projName":"test"},
  "cols":[
  {"name":"dis", "dis":"Equip Name"},
  {"name":"equip"},
  {"name":"siteRef"},
  {"name":"installed"}
 ],
  "rows":[
   {"dis":"RTU-1", "equip":"m:", "siteRef":"r:153c-699a HQ", 
     "installed":"d:2005-06-01"},
   {"dis":"RTU-2", "equip":"m:", "siteRef":"r:153c-699a HQ", 
     "installed":"d:999-07-12"}
 ]
}`

Могу ли я сделать это с помощью встроенного pandas.to_json? Я испробовал все варианты ориентации, но не смог найти нужную мне

1 Ответ

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

Вы должны будете собрать все мета-вещи самостоятельно, вместе с rows -обёрткой, но я смог добиться того, что вы предоставили to_json(orient="records"):

import pandas as pd

df = pd.DataFrame([
    {"dis": "RTU-1", "equip": "m", "siteRef": "r:153c-699a HQ", "installed": "d:2005-06-01"},
    {"dis": "RTU-2", "equip": "m", "siteRef": "r:153c-699a HQ", "installed": "d:999-07-12"}])
df.to_json(orient="records")

Результат:

'[{"dis":"RTU-1","equip":"m","installed":"d:2005-06-01","siteRef":"r:153c-699a HQ"},{"dis":"RTU-2","equip":"m","installed":"d:999-07-12","siteRef":"r:153c-699a HQ"}]'

... какой формат "один объект на запись" вы указали, нет?

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