python3 写入excel表格数据_python3学习笔记之五——将json数据写入excel表-Go语言中文社区...

#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])

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

完整代码 如下:

importxlwt,json

defreadJsonfile():

jsobj=json.load(open(r'C:UsersCryptFiendDownloadspythonstudent4.json'))

returnjsobj

defjsonToexcel():

jsonfile=readJsonfile()

print(jsonfile)

workbook=xlwt.Workbook()

sheet1=workbook.add_sheet('student')

ll=list(jsonfile[0].keys())

foriinrange(0,len(ll)):

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

forjinrange(0,len(jsonfile)):

m=0

ls=list(jsonfile[j].values())

forkinls:

sheet1.write(j+1,m,k)

m+=1

workbook.save('student3.xls')

jsonToexcel()

执行结果如下:

e3a427778811c5d02556631e1630bfde.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值