将嵌套的Json转换为特定格式的pandas DataFrame

13 浏览
0 Comments

将嵌套的Json转换为特定格式的pandas DataFrame

我需要将一个Json文件的内容以特定的格式转换成pandas DataFrame,这样我就可以使用pandassql来转换数据并通过评分模型运行它。

file = C:\scoring_model\json.js  # 'file'的内容如下
{
  "response":{
    "version":"1.1",
    "token":"dsfgf",
    "body":{
      "customer":{
        "customer_id":"1234567",
        "verified":"true"
      },
      "contact":{
        "email":"[email protected]",
        "mobile_number":"0123456789"
      },
      "personal":{
        "gender": "m",
        "title":"Dr.",
        "last_name":"Muster",
        "first_name":"Max",
        "family_status":"single",
        "dob":"1985-12-23"
      }
    }
  }
}

我需要DataFrame的格式如下(显然,所有值在同一行上,为了这个问题,我尽量格式化得尽可能好):

version | token | customer_id | verified | email      | mobile_number | gender |
1.1     | dsfgf | 1234567     | true     | [email protected] | 0123456789    | m      |
title | last_name | first_name |family_status | dob
Dr.   | Muster    | Max        | single       | 23.12.1985

我已经查看了关于这个主题的所有其他问题,尝试了各种加载Json文件到pandas的方法:

with open(r'C:\scoring_model\json.js', 'r') as f:
    c = pd.read_json(f.read())
with open(r'C:\scoring_model\json.js', 'r') as f:
    c = f.readlines()

尝试了在这个解决方案Python Pandas: How to split a sorted dictionary in a column of a dataframe中使用pd.Panel()[yo = f.readlines()]的DataFrame结果。我考虑过尝试根据("")拆分每个单元格的内容,并找到一种将拆分后的内容放入不同列的方法,但迄今为止没有成功。

0