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实现从ftp服务器下载文件的方法
Apr 30 Python
python结合opencv实现人脸检测与跟踪
Jun 08 Python
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
May 18 Python
Python绘制3d螺旋曲线图实例代码
Dec 20 Python
浅谈Tensorflow模型的保存与恢复加载
Apr 26 Python
Pycharm配置远程调试的方法步骤
Dec 17 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
Apr 12 Python
Python基于OpenCV实现人脸检测并保存
Jul 23 Python
python+selenium select下拉选择框定位处理方法
Aug 24 Python
python实现连连看游戏
Feb 14 Python
python2和python3哪个使用率高
Jun 23 Python
python使用matplotlib的savefig保存时图片保存不完整的问题
Jan 08 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中使用PDF文档功能
2006/10/09 PHP
php版微信公众号自定义分享内容实现方法
2016/09/22 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
2020/07/13 PHP
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
详解JavaScript ES6中的模板字符串
2015/07/28 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记6)
2015/12/20 Javascript
第五章之BootStrap 栅格系统
2016/04/25 Javascript
javascript计算对象长度的方法
2017/10/25 Javascript
关于react中组件通信的几种方式详解
2017/12/10 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
js自定义trim函数实现删除两端空格功能
2018/02/09 Javascript
JS实现倒计时图文效果
2018/11/17 Javascript
webpack的tree shaking的实现方法
2019/09/18 Javascript
JavaScript设计模型Iterator实例解析
2020/01/22 Javascript
vue如何实现动态加载脚本
2020/02/05 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
Python 遍历子文件和所有子文件夹的代码实例
2016/12/21 Python
Python获取CPU、内存使用率以及网络使用状态代码
2018/02/08 Python
Python日期时间对象转换为字符串的实例
2018/06/22 Python
python 获取一个值在某个区间的指定倍数的值方法
2018/11/12 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
Python之数据序列化(json、pickle、shelve)详解
2019/08/30 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
2020/03/04 Python
opencv 查找连通区域 最大面积实例
2020/06/04 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
matplotlib之属性组合包(cycler)的使用
2021/02/24 Python
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
Linux操作面试题
2012/05/16 面试题
自我鉴定思想方面
2013/10/07 职场文书
先进个人获奖感言
2014/01/24 职场文书
党员国庆节演讲稿范文2014
2014/09/21 职场文书
2014年党建工作汇报材料
2014/10/27 职场文书
无保留意见审计报告
2015/06/05 职场文书
餐厅开业活动方案
2019/07/08 职场文书
python 中的@运算符使用
2021/05/26 Python