Python:如何将Json文件的内容按要求写进Excel文件

本文介绍了一款使用Python编写的简单工具,该工具能够将引擎扫描输出的标准JSON格式的日志文件转换为Excel格式,以便于通过Navicat导入数据库。文章提供了完整的代码示例,包括如何读取JSON数据并将其写入Excel文件的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求

引擎扫描输出的log文件为标准的json格式,放到数据库前需要按照数据库的格式转换一下,变成excel的即可通过Navicat导入。

实现

在xijun小伙伴的帮助下搞定。
准备工作:Python语言中,写入Excel文件的第三方库——xlwt;json库已经自带了。

import xlwt
import json
import time
def LogToExcel(filename):
    print u"正在进行log日志转换成excel O(∩_∩)O"
    ws = xlwt.Workbook()
    sheet=ws.add_sheet(u'数据',cell_overwrite_ok=True)
    sheet.write(0,0,"id")
    sheet.write(0,1,"pro_name")
    sheet.write(0,2,"ip")
    sheet.write(0,3,"country")
    sheet.write(0,4,"province")
    sheet.write(0,5,"city")
    sheet.write(0,6,"latitude")
    sheet.write(0,7,"longitude")
    sheet.write(0,8,"port")
    sheet.write(0,9,"proto")
    i = 1
    with open(filename,'r') as log:
        lines = log.readlines()
        for line in lines:
            info = json.loads(line)
            sheet.write(i,0,i)
            sheet.write(i,2,info['ip'])
            sheet.write(i,3,info['location']['country'])
            sheet.write(i,4,info['location']['province'])
            sheet.write(i,5,info['location']['city'])
            sheet.write(i,6,info['location']['latitude'])
            sheet.write(i,7,info['location']['longitude'])
            sheet.write(i,8,info['port'])
            sheet.write(i,9,info['proto'])
            i += 1
    #以时间做文件名
    now=time.time()
    now1=time.strftime("%Y%m%d%H%M%S")
    ws.save('%s.xls' % now1)

    print u"log转换成excel的文件【%s.xls】已保存到当前目录"%(now1)

if __name__ == "__main__":
    #log的文件名写在括号里,每次要修改括号里的文件名哦,脚本也要放到log文件的同一目录
    LogToExcel('test.log')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西子湖畔的蜗牛

你的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值