需求:
因需要将一Json文件中大量的信息填入一固定格式的Excel表格,单纯的复制粘贴肯定也能完成,但是想偷懒一下,于是借助Python解决问题。
环境:
windows7 +Python2.7 +Xlwt
具体分析:
原始文件为Json列表,列表中有多个字典,生成Excel文件需要将列表中的字典的键值按键对应排列,也就是说,所有为“XX”的键对应的值写在一列,且每个字典中的不同键的键值保证在同一行。
解决思路是,读取Json文件,然后遍历字典的键和值,读完第一个字典并写入Excel后换行,读取第二个字典。
代码:
# -*- Coding: utf-8 -*-import xlwtimport Json# 创建excel工作表workbook = xlwt.Workbook(enCoding='utf-8')worksheet = workbook.add_sheet('sheet1')# 设置表头worksheet.write(0,label='name')worksheet.write(0,1,label='LEN')worksheet.write(0,2,label='ID')worksheet.write(0,3,label='OTHER')# 读取Json文件with open('test.Json','r') as f: data = Json.load(f)# 将Json字典写入excel# 变量用来循环时控制写入单元格,感觉有更好的表达方式val1 = 1val2 = 1val3 = 1val4 = 1for List_item in data: for key,value in List_item.items(): if key == "name": worksheet.write(val1,value) val1 += 1 elif key == "LEN": worksheet.write(val2,value) val2 += 1 elif key == "ID": worksheet.write(val3,value) val3 += 1 elif key == "OTHER": worksheet.write(val4,value) val4 += 1 else: pass# 保存workbook.save('OK.xls')
辅助文件:
test.Json[ { "OTHER": "code","name": "whc","LEN": 100,"ID": "01-0001" },{ "OTHER": "house","name": "ikd","LEN": 200,"ID": "01-0002" },{ "OTHER": "thank","name": "qxf","LEN": 300,"ID": "01-0003" },{ "OTHER": "music","name": "kmn","LEN": 400,"ID": "01-0004" },{ "OTHER": "big","name": "vbf","LEN": 500,"ID": "01-0005" },{ "OTHER": "over","name": "wsr","LEN": 600,"ID": "01-0006" }]
结果示例:
ok.xls
其它说明:
1、以上代码直接生成结果与图中示例对齐方式不同,可在代码中加入格式控制。
2、实际使用的过程中列表字典中还包含了字典,同样进入遍历即可。
3、代码很简陋,希望各位提意见帮忙改进。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。
总结以上是内存溢出为你收集整理的Python读取Json字典写入Excel表格的方法全部内容,希望文章能够帮你解决Python读取Json字典写入Excel表格的方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)