Как преобразовать список данных кадра в JSON в Python - PullRequest
0 голосов
/ 18 декабря 2018

Я хочу преобразовать приведенные ниже данные в json.

Зарплата:

         Balance before Salary   Salary
Date                                  
Jun-18                  27.20  15300.0
Jul-18                  88.20  15300.0
Aug-18                 176.48  14783.0
Sep-18                  48.48  16249.0
Oct-18                 241.48  14448.0
Nov-18                  49.48  15663.0

Баланс:

             Balance
Date                                      
Jun-18  3580.661538                      
Jul-18  6817.675556                     
Aug-18  7753.483077                      
Sep-18  5413.868421                      
Oct-18  5996.120000                      
Nov-18  8276.805000                      
Dec-18  9269.000000    

Я пытался:

dfs = [Salary, Balance]    
dfs.to_json("path/test.json")

но выдает ошибку:

AttributeError: 'list' object has no attribute 'to_json'

но когда я попытался использовать один кадр данных, я получил следующий результат:

{"Balance before Salary":{"Jun-18":27.2,"Jul-18":88.2,"Aug-18":176.48,"Sep-18":48.48,"Oct-18":241.48,"Nov-18":49.48},"Salary":{"Jun-18":15300.0,"Jul-18":15300.0,"Aug-18":14783.0,"Sep-18":16249.0,"Oct-18":14448.0,"Nov-18":15663.0}}

Ответы [ 2 ]

0 голосов
/ 18 декабря 2018

Используйте concat для одного DataFrame (необходимые одинаковые значения индекса в каждом кадре данных для выравнивания), а затем преобразуйте в json:

dfs = [check_Salary_date, sum_Salary]    

df = pd.concat(dfs, axis=1, keys=np.arange(len(dfs)))
df.columns = ['{}{}'.format(b, a) for a, b in df.columns]
df.to_json("path/test.json")
0 голосов
/ 18 декабря 2018

Вы можете использовать метод to_json .Из документов:

>>> df = pd.DataFrame([['a', 'b'], ['c', 'd']],
...                   index=['row 1', 'row 2'],
...                   columns=['col 1', 'col 2'])

>>> df.to_json(orient='records')

'[{"col 1":"a","col 2":"b"},{"col 1":"c","col 2":"d"}]'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...