首页 > 解决方案 > 在python中将json文件转换为数据框

问题描述

我是 json 文件处理的新手。我有一个下面的 json 文件

{"loanAccount":{"openAccount":[{"accountNumber":"986985874","accountOpenDate":"2020-02-045-11:00","accountCode":"NA","relationship":"Main account","loanTerm":"120"}]}}

我想把它转换成数据框。我正在使用以下代码:

import pandas as pd
from pandas.io.json import json_normalize

data1 = pd.read_json (r'./DLResponse1.json',lines=True)
df = pd.DataFrame.from_dict(data1, orient='columns')

这给了我以下输出:

index   loanAccount
0       {'openAccount': [{'accountNumber': '986985874', 'accountOpenDate': '2020-02-045-11:00', 'accountCode': 'NA', 'relationship': 'Main account', 'loanTerm': '120'}]}}

但是我想以以下格式提取:

loanAccount  openAccount  accountNumber  accountOpenDate    accountCode  relationship  loanTerm
                          986985874      2020-02-045-11:00   NA          Main account  120

标签: pythonjsonpandas

解决方案


你可以使用:

# s is your json, you can read from file
pd.DataFrame(s["loanAccount"]["openAccount"])

输出:

在此处输入图像描述

如果您还希望将其他 json 键作为列,您可以使用:

pd.DataFrame([{"loanAccount": '', "openAccount": '', **s["loanAccount"]["openAccount"][0]}])

在此处输入图像描述


推荐阅读