Python读取Json字典写入Excel表格的方法


Posted in Python onJanuary 03, 2018

需求:

因需要将一json文件中大量的信息填入一固定格式的Excel表格,单纯的复制粘贴肯定也能完成,但是想偷懒一下,于是借助Python解决问题。

环境:

Windows7 +Python2.7 +Xlwt

具体分析:

原始文件为json列表,列表中有多个字典,生成Excel文件需要将列表中的字典的键值按键对应排列,也就是说,所有为“XX”的键对应的值写在一列,且每个字典中的不同键的键值保证在同一行。
解决思路是,读取json文件,然后遍历字典的键和值,读完第一个字典并写入Excel后换行,读取第二个字典。

代码:

# -*- coding: utf-8 -*-
import xlwt
import json

# 创建excel工作表
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('sheet1')

# 设置表头
worksheet.write(0, 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 = 1
val2 = 1
val3 = 1
val4 = 1
for list_item in data:
 for key, value in list_item.items():
  if key == "NAME":
   worksheet.write(val1, 0, value)
   val1 += 1
  elif key == "LEN":
   worksheet.write(val2, 1, value)
   val2 += 1
  elif key == "ID":
   worksheet.write(val3, 2, value)
   val3 += 1
  elif key == "OTHER":
   worksheet.write(val4, 3, 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

Python读取Json字典写入Excel表格的方法

其它说明:

1、以上代码直接生成结果与图中示例对齐方式不同,可在代码中加入格式控制。
2、实际使用的过程中列表字典中还包含了字典,同样进入遍历即可。
3、代码很简陋,希望各位提意见帮忙改进。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python持久性管理pickle模块详细介绍
Feb 18 Python
谈谈Python进行验证码识别的一些想法
Jan 25 Python
详解Python中的变量及其命名和打印
Mar 11 Python
python3实现ftp服务功能(服务端 For Linux)
Mar 24 Python
[机器视觉]使用python自动识别验证码详解
May 16 Python
python plotly绘制直方图实例详解
Jul 22 Python
Python检查 云备份进程是否正常运行代码实例
Aug 22 Python
Python3 无重复字符的最长子串的实现
Oct 08 Python
pytorch实现CNN卷积神经网络
Feb 19 Python
Django bulk_create()、update()与数据库事务的效率对比分析
May 15 Python
Pytorch损失函数nn.NLLLoss2d()用法说明
Jul 07 Python
python中封包建立过程实例
Feb 18 Python
python基于ID3思想的决策树
Jan 03 #Python
python遍历文件夹下所有excel文件
Jan 03 #Python
Python将多份excel表格整理成一份表格
Jan 03 #Python
Python将多个excel文件合并为一个文件
Jan 03 #Python
python中的字典操作及字典函数
Jan 03 #Python
Python将多个excel表格合并为一个表格
Feb 22 #Python
使用Python+Splinter自动刷新抢12306火车票
Jan 03 #Python
You might like
php采集速度探究总结(原创)
2008/04/18 PHP
PHP无限分类代码,支持数组格式化、直接输出菜单两种方式
2011/05/18 PHP
JavaScript去除空格的几种方法
2006/10/03 Javascript
js继承的实现代码
2010/08/05 Javascript
一个关于javascript匿名函数的问题分析
2012/03/30 Javascript
javascript的原生方法获取数组中的最大(最小)值
2012/12/19 Javascript
将两个div左右并列显示并实现点击标题切换内容
2013/10/22 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
2014/06/09 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
浅谈Javascript中Object与Function对象
2015/09/26 Javascript
jquery实现全选功能效果的实现代码
2016/05/05 Javascript
浅谈$('div a') 与$('div>a')的区别
2016/07/18 Javascript
ionic开发中点击input时键盘自动弹出
2016/12/23 Javascript
使用vue的v-for生成table并给table加上序号的实例代码
2017/10/27 Javascript
浅谈Vue CLI 3结合Lerna进行UI框架设计
2019/04/14 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
JavaScript监听触摸事件代码实例
2019/12/30 Javascript
微信小程序canvas实现签名功能
2021/01/19 Javascript
获取Django项目的全部url方法详解
2017/10/26 Python
python生成不重复随机数和对list乱序的解决方法
2018/04/09 Python
Python使用爬虫爬取静态网页图片的方法详解
2018/06/05 Python
使用Python实现租车计费系统的两种方法
2018/09/29 Python
python使用sklearn实现决策树的方法示例
2019/09/12 Python
python实现代码统计程序
2019/09/19 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
Python多线程爬取豆瓣影评API接口
2019/10/22 Python
解决Numpy中sum函数求和结果维度的问题
2019/12/06 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
薇姿法国官网:Vichy法国
2021/01/28 全球购物
财务会计专业推荐信
2013/11/30 职场文书
旅游管理毕业生自荐书
2014/02/02 职场文书
仓库管理员岗位职责
2014/03/19 职场文书
中学生操行评语
2014/04/24 职场文书
个人思想政治总结
2015/03/05 职场文书
2016年寒假政治学习心得体会
2015/10/09 职场文书
2016年万圣节活动个人总结
2016/04/05 职场文书