最近重保,经常需要通过Excel上报威胁事件。安全设备的告警很多都是json格式的,就需要将json转成Excel。
用Python将json转成excel也就三行代码的事,先将json串导入形成字典对象,再通过pandas转成DataFrame直接输出excel。
实现如下:
一、引包
引入pandas包,pandas写excel依赖openpyxl包所以也到导入
1 | pip install pandas |
二、代码
1 | import json |
效果:
三、注意事项
因为attackDetail字段有很多类似\n等的转义符,会导致json解析不成功,在json.loads的时候就会报错。报类似于json.decoder.JSONDecodeError: Expecting ',' delimiter: line 50 column 149 (char 1339)
的错误。所以需要在字符串前面加r
标识来忽略掉转义机制。
常见的字符串标识u,r,b,f
- 字符串前加u
后面字符串以 Unicode格式进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。 - 字符串前加r
去掉反斜杠的转义机制。(特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。 ) - 字符串前加b
b前缀表示:后面字符串是bytes 类型。 - 字符串前加f
以 f 开头表示在字符串内支持大括号内的python 表达式字符串拼接。
如:
1 | name='xiejava' |
输出结果为:
1 | My name is xiejava |
博客地址:http://xiejava.ishareread.com/
关注微信公众号,一起学习、成长!