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 相关文章推荐
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
Apr 11 Python
python嵌套字典比较值与取值的实现示例
Nov 03 Python
详解安装mitmproxy以及遇到的坑和简单用法
Jan 21 Python
Django中celery执行任务结果的保存方法
Jul 12 Python
Django如何实现上传图片功能
Aug 16 Python
详解Python self 参数
Aug 30 Python
Python3安装pip工具的详细步骤
Oct 14 Python
dpn网络的pytorch实现方式
Jan 14 Python
借助Paramiko通过Python实现linux远程登陆及sftp的操作
Mar 16 Python
Django admin 实现search_fields精确查询实例
Mar 30 Python
Python列表的深复制和浅复制示例详解
Feb 12 Python
python 远程执行命令的详细代码
Feb 15 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版本号
2006/10/09 PHP
php smarty函数扩展
2010/03/15 PHP
php获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
php顺序查找和二分查找示例
2014/03/27 PHP
yii的CURD操作实例详解
2014/12/04 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
2016/03/21 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
简单的jquery拖拽排序效果实现代码
2011/09/20 Javascript
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
控制文字内容的显示与隐藏示例
2014/06/11 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
JavaScript实现简单的星星评分效果
2017/05/18 Javascript
vue.js项目nginx部署教程
2018/04/05 Javascript
vue移动端实现下拉刷新
2018/04/22 Javascript
webpack 样式加载的实现原理
2018/06/12 Javascript
Vue-CLI 3.X 部署项目至生产服务器的方法
2019/03/22 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
2019/09/09 Javascript
angular组件间通讯的实现方法示例
2020/05/07 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
2020/08/07 Javascript
Python常见工厂函数用法示例
2018/03/21 Python
如何使用Python的Requests包实现模拟登陆
2018/04/27 Python
python批量修改图片后缀的方法(png到jpg)
2018/10/25 Python
解析Python3中的Import
2019/10/13 Python
解析Python 偏函数用法全方位实现
2020/06/26 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
Becextech新西兰:数码单反相机和手机在线商店
2018/04/27 全球购物
澳大利亚窗帘商店:Curtain Wonderland
2019/12/01 全球购物
学生保证书范文
2014/04/28 职场文书
优秀电子工程系毕业生求职信
2014/05/24 职场文书
高中生自我评价范文2015
2015/03/03 职场文书
教导处教学工作总结
2015/08/12 职场文书
left join、inner join、right join的区别
2021/04/05 MySQL
Nginx进程管理和重载原理详解
2021/04/22 Servers
Node与Python 双向通信的实现代码
2021/07/16 Javascript
mysql函数全面总结
2021/11/11 MySQL