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中for循环详解
Jan 17 Python
深入理解Python中各种方法的运作原理
Jun 15 Python
Python装饰器基础详解
Mar 09 Python
Python语言描述KNN算法与Kd树
Dec 13 Python
Python cookbook(字符串与文本)针对任意多的分隔符拆分字符串操作示例
Apr 19 Python
Python之dict(或对象)与json之间的互相转化实例
Jun 05 Python
Selenium鼠标与键盘事件常用操作方法示例
Aug 13 Python
python爬虫爬取微博评论案例详解
Mar 27 Python
Python 函数用法简单示例【定义、参数、返回值、函数嵌套】
Sep 20 Python
Python气泡提示与标签的实现
Apr 01 Python
python Scrapy框架原理解析
Jan 04 Python
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
Jun 11 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代码收集表单内容并写入文件的代码
2012/01/29 PHP
利用curl抓取远程页面内容的示例代码
2013/07/23 PHP
php抓取网站图片并保存的实现方法
2015/10/29 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
2016/12/25 PHP
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
2013/07/01 Javascript
JS中类或对象的定义说明
2014/03/10 Javascript
jQuery实现复选框全选/取消全选/反选及获得选择的值
2014/06/12 Javascript
javascript学习笔记(八)正则表达式
2014/10/08 Javascript
jQuery创建DOM元素实例解析
2015/01/19 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
2015/08/24 Javascript
浅谈jQuery添加的HTML,JS失效的问题
2016/10/05 Javascript
探索Vue.js component内容实现
2016/11/03 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
jQuery模拟html下拉多选框的原生实现方法示例
2019/05/30 jQuery
NestJs使用Mongoose对MongoDB操作的方法
2021/02/22 Javascript
python快速查找算法应用实例
2014/09/26 Python
详解Python3中的Sequence type的使用
2015/08/01 Python
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
Python利用BeautifulSoup解析Html的方法示例
2017/07/30 Python
Python函数递归调用实现原理实例解析
2020/08/11 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
2020/09/01 Python
css3的图形3d翻转效果应用示例
2014/04/08 HTML / CSS
HTML5 drag和drop具体使用详解
2021/01/18 HTML / CSS
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
中东地区最大的奢侈品市场:The Luxury Closet
2019/04/09 全球购物
linux面试题参考答案(4)
2014/09/21 面试题
党员个人对照检查材料思想汇报
2014/09/16 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
2014法制宣传日活动总结范文
2014/11/01 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
2015年党风廉政建设责任书
2015/01/29 职场文书
2014年个人年终总结
2015/03/09 职场文书
结婚通知短信大全
2015/04/17 职场文书
PL350与SW11的比较
2021/04/22 无线电