python - 如何使用 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"
}
]
}
解决方案
嗨,你可以使用熊猫的 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_
推荐阅读
- c++ - 在 WinSock 中通过 127.0.0.1 发送的多播可以用 INADDR_ANY 读取吗?
- c# - 通过健康检查减少日志文件读取次数
- python - Matplotlib 条形图在 x 轴上采用连续值
- postgresql - 使用 ASW Commons/S3 库将数据从 RDS 实例导入 PostgreSQL 11.1 的问题
- python - 在 PyQt 中使用 QTimer 与计时器
- java - 执行使用 RestTemplate 返回列表的 POST 请求时出错
- pandas - 您可以让 CloudWatch 指标筛选器查看模式在单个事件中显示的次数吗?
- dictionary - 通过指针的指针更新结构不起作用
- django - websocket因“无效的帧头”而失败
- camera - 使用 ZXing for javascript form camera 检测多个 QR 码