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环境下MySQL-python安装过程分享
Feb 02 Python
PyMongo安装使用笔记
Apr 27 Python
python将文本转换成图片输出的方法
Apr 28 Python
Python实现Windows和Linux之间互相传输文件(文件夹)的方法
May 08 Python
Python基于正则表达式实现检查文件内容的方法【文件检索】
Aug 30 Python
Python英文文章词频统计(14份剑桥真题词频统计)
Oct 13 Python
python中seaborn包常用图形使用详解
Nov 25 Python
python代数式括号有效性检验示例代码
Oct 04 Python
Python进行特征提取的示例代码
Oct 15 Python
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
Jun 07 Python
python实现局部图像放大
Nov 17 Python
Python中np.random.randint()参数详解及用法实例
Sep 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
ThinkPHP中的关联模型注意点
2014/06/16 PHP
浅谈PHP Cookie处理函数
2016/06/10 PHP
如何判断图片地址是否失效
2007/02/02 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
原生js实现半透明遮罩层效果具体代码
2013/06/06 Javascript
Javascript单元测试框架QUnitjs详细介绍
2014/05/08 Javascript
js单独获取一个checkbox看其是否被选中
2014/09/22 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
Javascript Function.prototype.bind详细分析
2016/12/29 Javascript
Django+Vue.js搭建前后端分离项目的示例
2017/08/07 Javascript
React学习笔记之列表渲染示例详解
2017/08/22 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
vue2.x集成百度UEditor富文本编辑器的方法
2018/09/21 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
javascript设计模式 ? 单例模式原理与应用实例分析
2020/04/09 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
[49:43]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Windows系统下安装Python的SSH模块教程
2015/02/05 Python
初学Python函数的笔记整理
2015/04/07 Python
简单解决Python文件中文编码问题
2015/11/22 Python
理解Python中的绝对路径和相对路径
2017/08/30 Python
opencv python统计及绘制直方图的方法
2019/01/21 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
2020/01/02 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
HTML5实现Notification API桌面通知功能
2016/03/02 HTML / CSS
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
泰国最新活动和优惠:Megatix
2020/05/07 全球购物
年终自我鉴定
2013/10/09 职场文书
感恩小明星事迹材料
2014/05/23 职场文书
个人整改措施落实情况汇报
2014/10/29 职场文书
公司禁烟通知
2015/04/23 职场文书
2016年“节能宣传周”活动总结
2016/04/05 职场文书
如何Tomcat中使用ipv6地址
2022/05/06 Servers