python3将json数据转换到excel中

#!/usr/bin/env python
# coding=utf-8
# json转换为excel

import xlrd
import json
import os
from openpyxl import Workbook
wb = Workbook()
ws = wb.active

cols = []
def json2excel(jsfile, excfile):
    # 读取json数据
    a = 1
    if os.path.exists(jsfile):
        # 先用key值写表头
        with open(jsfile, 'r',encoding='utf8') as fp:
            # 先用key值写表头
            line = fp.readline()
            if not line:
                print("没有内容")
            else:
                # 每一行转换成字典类型
                jsdata = json.loads(line)
                # 用key值做标题
                for k in jsdata.keys():
                    if k not in cols:
                        cols.append(k)
                ws.append(cols)  # 标题
        # 写值
        with open(jsfile, 'r', encoding='utf8') as fp:
                # 循环写值
                while True:
                    print('正在写入的行数%s:' % a)
                    line = fp.readline()
                    if not line:
                        break
                    # 转换为python对象
                    jsdata = json.loads(line)
                    rowdata = []
                    for col in cols:
                        # 获取每一行key值对应的value值
                        rowdata.append(jsdata.get(col))
                    a += 1
                    ws.append(rowdata) # 写行
            # ws.append(cols) # 标题
    print('保存中')
    wb.save(excfile) # 保存

if __name__ == '__main__':
    jsfile = "./dong.json"
    excfile = "./111.xlsx"
    json2excel(jsfile, excfile)

 

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值