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 相关文章推荐
Python3基础之函数用法
Aug 13 Python
一些Python中的二维数组的操作方法
May 02 Python
python关键字and和or用法实例
May 28 Python
使用Python下载歌词并嵌入歌曲文件中的实现代码
Nov 13 Python
Python实现将数据库一键导出为Excel表格的实例
Dec 30 Python
Python SQLite3数据库日期与时间常见函数用法分析
Aug 14 Python
Python实现OpenCV的安装与使用示例
Mar 30 Python
python调用百度REST API实现语音识别
Aug 30 Python
python+jinja2实现接口数据批量生成工具
Aug 28 Python
通过实例了解python property属性
Nov 01 Python
python实现简单的五子棋游戏
Sep 01 Python
Python pandas之求和运算和非空值个数统计
Aug 07 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
使用PHPMyAdmin修复论坛数据库的图文方法
2012/01/09 PHP
php 发送带附件邮件示例
2014/01/23 PHP
PHP+JS三级菜单联动菜单实现方法
2016/02/24 PHP
PHP设计模式之单例模式原理与实现方法分析
2018/04/25 PHP
PHP数组常用函数实例小结
2018/08/20 PHP
javascript Firefox与IE 替换节点的方法
2010/02/24 Javascript
jquery动态添加删除div 具体实现
2013/07/20 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
Bootstrap modal 多弹窗之叠加引起的滚动条遮罩阴影问题
2017/02/27 Javascript
js实现城市级联菜单的2种方法
2017/06/23 Javascript
JavaScript中的一些隐式转换和总结(推荐)
2017/12/22 Javascript
javascript数据类型中的一些小知识点(推荐)
2019/04/18 Javascript
过滤器vue.filters的使用方法实现
2019/09/18 Javascript
vue下axios拦截器token刷新机制的实例代码
2020/01/17 Javascript
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
让IDE识别webpack的别名alias的实现方法
2020/05/06 Javascript
ES2020系列之空值合并运算符 '??'
2020/07/22 Javascript
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
[04:21]狐狸妈带你到现场 DOTA2 TI中国区预选赛线下赛路线指引
2014/05/22 DOTA
Python中IPYTHON入门实例
2015/05/11 Python
Python 类与元类的深度挖掘 I【经验】
2016/05/06 Python
Python首次安装后运行报错(0xc000007b)的解决方法
2016/10/18 Python
python去除文件中重复的行实例
2018/06/29 Python
对python3 一组数值的归一化处理方法详解
2018/07/11 Python
解决python Markdown模块乱码的问题
2019/02/14 Python
快速解决vue.js 模板和jinja 模板冲突的问题
2019/07/26 Python
美国开幕式潮店:Opening Ceremony
2018/02/10 全球购物
自考毕业生自我鉴定
2013/11/04 职场文书
办理居住证介绍信
2014/01/15 职场文书
工程管理专业毕业生自荐信
2014/01/24 职场文书
日化店促销方案
2014/03/26 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
2016年大学迎新工作总结
2015/10/14 职场文书
优秀新员工事迹材料
2019/05/13 职场文书
Python max函数中key的用法及原理解析
2021/06/26 Python