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 相关文章推荐
linux环境下安装pyramid和新建项目的步骤
Nov 27 Python
python3批量删除豆瓣分组下的好友的实现代码
Jun 07 Python
python获取当前用户的主目录路径方法(推荐)
Jan 12 Python
Python创建对称矩阵的方法示例【基于numpy模块】
Oct 12 Python
使用Python实现windows下的抓包与解析
Jan 15 Python
numpy中矩阵合并的实例
Jun 15 Python
python skimage 连通性区域检测方法
Jun 21 Python
Python使用pyodbc访问数据库操作方法详解
Jul 05 Python
Python实现Dijkstra算法
Oct 17 Python
python基于Selenium的web自动化框架
Jul 14 Python
python创建属于自己的单词词库 便于背单词
Jul 30 Python
Python学习开发之图形用户界面详解
Aug 23 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
超级实用的7个PHP代码片段分享
2012/01/05 PHP
解析php php_openssl.dll的作用
2013/07/01 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
php cli模式下获取参数的方法
2017/05/05 PHP
音乐播放用的的几个函数
2006/09/07 Javascript
说明你的Javascript技术很烂的五个原因
2011/04/26 Javascript
javascript如何判断输入的url是否正确
2014/04/11 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
AngularJS入门教程(一):静态模板
2014/12/06 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
vue axios登录请求拦截器
2018/04/02 Javascript
详解webpack引入第三方库的方式以及注意事项
2019/01/15 Javascript
js form表单input框限制20个字符,10个汉字代码实例
2019/04/12 Javascript
基于iview的router常用控制方式
2019/05/30 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
React实现评论的添加和删除
2020/10/20 Javascript
[06:57]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD 选手采访
2021/03/11 DOTA
Python实现基于权重的随机数2种方法
2015/04/28 Python
python生成IP段的方法
2015/07/07 Python
Python数据类型详解(二)列表
2016/05/08 Python
Python并发编程协程(Coroutine)之Gevent详解
2017/12/27 Python
python实现外卖信息管理系统
2018/01/11 Python
python 实现识别图片上的数字
2019/07/30 Python
Python爬虫 批量爬取下载抖音视频代码实例
2019/08/16 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
2019/08/29 Python
Pycharm自带Git实现版本管理的方法步骤
2020/09/18 Python
德国咖啡批发商:Coffeefair
2019/08/26 全球购物
职业生涯规划书的格式
2013/12/29 职场文书
优秀老员工获奖感言
2014/02/15 职场文书
钓鱼岛事件感想
2015/08/11 职场文书
课题研究阶段性总结
2015/08/13 职场文书
九年级历史教学反思
2016/02/19 职场文书
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电