基于python实现把json数据转换成Excel表格

json数据:

[{"authenticate":-99,"last_ip":"156.2.98.429","last_time":"2020/05/23 01:41:36","member_id":5067002,"mg_id":1,"name":"yuanfang","status":0,"username":"L7898"},{"authenticate":-99,"last_ip":"156.2.98.421","last_time":"2020/05/20 14:16:02","member_id":1012304,"mg_id":1,"name":"管理员","status":0,"username":"aaaap"},{"authenticate":-99,"last_ip":"134.212.156.178","last_time":"2020/04/20 14:16:03","member_id":1012305,"mg_id":1,"name":"lily","status":0,"username":"aaaaa8"}]

将json数据转化为Excel表格

首先在cmd里安装tablib模块,tablib 模块可以完美实现,json 转 excel,安装方法:pip instal tablib

#!/usr/bin/python3
#防止出现中文乱码
# -*- coding:utf-8 -*-
import json
import tablib
# json.text文件的格式: [{"a":1},{"a":2},{"a":3},{"a":4},{"a":5}]
# 获取json数据
with open('F:\\阅维科技2020.4\\python测试数据\\json1.txt', 'r',encoding='utf-8',errors='ignore') as f:
  rows = json.load(f)
# 将json中的key作为header, 也可以自定义header(列名)
header=tuple([ i for i in rows[0].keys()])
data = []
# 循环里面的字典,将value作为数据写入进去
for row in rows:
  body = []
  for v in row.values():
    body.append(v)
  data.append(tuple(body))
#将含标题和内容的数据放到data里
data = tablib.Dataset(*data,headers=header)
#写到桌面
open('C:\\Users\\91911\\Desktop\\data.xls', 'wb').write(data.xls)

结果放到了桌面,名为data.xls: