python 将json数据写入excel表

这篇博客介绍了如何使用Python的json和xlwt库将JSON数据转换为数组,并将数据写入Excel表格中,包括设置表头和写入学生信息。

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

#student4.json

[
    {
        "student_no": 1001,
        "name": "James",
        "score": 10,
        "class": "A-1",
        "rank": 1
    },
    {
        "student_no": 1002,
        "name": "Tome",
        "score": 91,
        "class": "A-1",
        "rank": 2
    },
    {
        "student_no": 1003,
        "name": "Jane",
        "score": 100,
        "class": "A-3",
        "rank": 3
    },
    {
        "student_no": 1004,
        "name": "Rone",
        "score": 50,
        "class": "A-3",
        "rank": 4
    },
    {
        "student_no": 1005,
        "name": "Bill",
        "score": 44,
        "class": "A-3",
        "rank": 5
    },
    {
        "student_no": 1006,
        "name": "Lily",
        "score": 81,
        "class": "A-2",
        "rank": 6
    }

]

利用json.load(),将json数据转化成数组,数组中的每一项都是字典。

jsonfile = json.load(open(r'd:\student4.json'))

得到数组:

[{'student_no': 1001, 'name': 'James', 'score': 10, 'class': 'A-1', 'rank': 1}, {'student_no': 1002, 'name': 'Tome', 'score': 91, 'class': 'A-1', 'rank': 2}, {'student_no': 1003, 'name': 'Jane', 'score': 100, 'class': 'A-3', 'rank': 3}, {'student_no': 1004, 'name': 'Rone', 'score': 50, 'class': 'A-3', 'rank': 4}, {'student_no': 1005, 'name': 'Bill', 'score': 44, 'class': 'A-3', 'rank': 5}, {'student_no': 1006, 'name': 'Lily', 'score': 81, 'class': 'A-2', 'rank': 6}]

其中student_no,name,score,class,rank这几个键值要作为excel的表头写入表格。

写入表格之前先要了解下如何向excel写入数据,这里就要引入xlwt模块

    workbook = xlwt.Workbook()

    sheet1 = workbook.add_sheet('student')

sheet1.write('行号’,'列号',‘值’)#向excel中写入数据

数据添加完成后,只需保存为文件就可以写入:

workbook.save('student.xls')

接下来先将表头写入表格

ll = list(jsonfile[0].keys) #获取健值,将其转化为list

通过for循环,就可以将ll中的数据写入excel表作为表头。

for i in range(0,len(ll)):

    sheet1.write(0,i,ll[i])

同理将学生数据写入即可。

完整代码 如下:


import xlwt,json

def readJsonfile():
    jsobj = json.load(open(r'C:\Users\CryptFiend\Downloads\python\student4.json'))
    return jsobj

def jsonToexcel():
    jsonfile = readJsonfile()
    print (jsonfile)
    workbook = xlwt.Workbook()
    sheet1 = workbook.add_sheet('student')
    ll = list(jsonfile[0].keys())
    for i in range(0,len(ll)):
        sheet1.write(0,i,ll[i])
    for j in range(0,len(jsonfile)):
        m = 0
        ls = list(jsonfile[j].values())
        for k in ls:
            sheet1.write(j+1,m,k)
            m += 1
    workbook.save('student3.xls')
    
                  
jsonToexcel()


执行结果如下:

#student4.json

[
    {
        "student_no": 1001,
        "name": "James",
        "score": 10,
        "class": "A-1",
        "rank": 1
    },
    {
        "student_no": 1002,
        "name": "Tome",
        "score": 91,
        "class": "A-1",
        "rank": 2
    },
    {
        "student_no": 1003,
        "name": "Jane",
        "score": 100,
        "class": "A-3",
        "rank": 3
    },
    {
        "student_no": 1004,
        "name": "Rone",
        "score": 50,
        "class": "A-3",
        "rank": 4
    },
    {
        "student_no": 1005,
        "name": "Bill",
        "score": 44,
        "class": "A-3",
        "rank": 5
    },
    {
        "student_no": 1006,
        "name": "Lily",
        "score": 81,
        "class": "A-2",
        "rank": 6
    }

]

利用json.load(),将json数据转化成数组,数组中的每一项都是字典。

jsonfile = json.load(open(r'd:\student4.json'))

得到数组:

[{'student_no': 1001, 'name': 'James', 'score': 10, 'class': 'A-1', 'rank': 1}, {'student_no': 1002, 'name': 'Tome', 'score': 91, 'class': 'A-1', 'rank': 2}, {'student_no': 1003, 'name': 'Jane', 'score': 100, 'class': 'A-3', 'rank': 3}, {'student_no': 1004, 'name': 'Rone', 'score': 50, 'class': 'A-3', 'rank': 4}, {'student_no': 1005, 'name': 'Bill', 'score': 44, 'class': 'A-3', 'rank': 5}, {'student_no': 1006, 'name': 'Lily', 'score': 81, 'class': 'A-2', 'rank': 6}]

其中student_no,name,score,class,rank这几个键值要作为excel的表头写入表格。

写入表格之前先要了解下如何向excel写入数据,这里就要引入xlwt模块

    workbook = xlwt.Workbook()

    sheet1 = workbook.add_sheet('student')

sheet1.write('行号’,'列号',‘值’)#向excel中写入数据

数据添加完成后,只需保存为文件就可以写入:

workbook.save('student.xls')

接下来先将表头写入表格

ll = list(jsonfile[0].keys) #获取健值,将其转化为list

通过for循环,就可以将ll中的数据写入excel表作为表头。

for i in range(0,len(ll)):

    sheet1.write(0,i,ll[i])

同理将学生数据写入即可。

完整代码 如下:


import xlwt,json

def readJsonfile():
    jsobj = json.load(open(r'C:\Users\CryptFiend\Downloads\python\student4.json'))
    return jsobj

def jsonToexcel():
    jsonfile = readJsonfile()
    print (jsonfile)
    workbook = xlwt.Workbook()
    sheet1 = workbook.add_sheet('student')
    ll = list(jsonfile[0].keys())
    for i in range(0,len(ll)):
        sheet1.write(0,i,ll[i])
    for j in range(0,len(jsonfile)):
        m = 0
        ls = list(jsonfile[j].values())
        for k in ls:
            sheet1.write(j+1,m,k)
            m += 1
    workbook.save('student3.xls')
    
                  
jsonToexcel()


执行结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值