首页 > 解决方案 > 如何使用 Pandas 读取 JSON 以及字典列表

问题描述

如何通过熊猫将字典转换为数据框。我想将所有字典值放入数据框中的单独列中。

{
"jobId":"3355f555ffr1af3fae56b8b74d02",
"runVerId":"333",
"totalNumberofJobs":30,
"startIndex":0,
"issue":[
   {
      "id":"00a9a6248fhf9849fj45",
      "path":"",
      "jobId":"33fj484jjfjb74d02",
      "plugin":"SSL",
      "vcid":"763.2",
      "method":null,
      "flawDescription":"testdjfk kkdkdkrikssllss",
      "flawRemediation":"Lakkdjnjdjj jdjdjkiedksk kskskkfkfk",
      "paramType":"ASIS",
      "paramName":"NONE",
      "paramDescription":null,
      "originalArg":"ddsd",
      "injectedArg":"",
      "referrerUrl":null,
      "host":"",
      "port":8020,
      "found":null,
      "secure":null,
      "insecure":true,
     "rawEvent":"sjsjjjhjjduennnjfjfiibcbckskscbjkkkskkkfdfdfdfdfdsX3Byb3RvY29scyBUTFN2MS4xIFRMU3YxLjJcIiBpbiB0aG45df5f2f1g2fgf5g12f12df121f2df1d2f12d2vIGRlddsdjskskkskskkcncncmJlODciLCJvcmlnaW5hbGFyZyI6IlNTTHYzIiwicGFyYW1kZXNjcmlwdGlvbiI6InNzbDMiLCJwYXJhbW5hbWUiOiJOT05FIiwicGFyYW10eXBlIjoiQVNJUyIsInBsdWdpbiI6IlNTTCIsInBvcnQiOjgwLCJyZWZlcnJlcnVybCI6IiIsInJlcHJvIjpbXSwicmVxdWVzdCI6IiIsInJlc3BvbnNlIjoiIiwic2VjdXJlIjpmYWxzZSwidGltZXN0YW1wIjoxNTQ2NTUwNDA4MTU4LCJ2Y2lkIjoiNzU3LjgwMiJ9"
    }
  ]
}

标签: pythonjsonpandasvalidationdictionary

解决方案


嗨,你可以使用熊猫的 json_normalize

import json
from pandas.io.json import json_normalize    

with open('pathToJson.json') as data_file:    
    data = json.load(data_file)  

df = json_normalize(data, 'issue', ['id', 'jobId', 'path'], #add field names here you want in your dataframe 
                    record_prefix='issue_')

df将是您的数据框,您的嵌套数据将使用以前缀开头的列名issue_


推荐阅读