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实现合并两个数组的方法
May 16 Python
Python常用知识点汇总
May 08 Python
python操作mysql数据库
Mar 05 Python
Python获取SQLite查询结果表列名的方法
Jun 21 Python
Python Logging 日志记录入门学习
Jun 02 Python
Python统计时间内的并发数代码实例
Dec 28 Python
OpenCV python sklearn随机超参数搜索的实现
Jan 17 Python
使用Python第三方库pygame写个贪吃蛇小游戏
Mar 06 Python
python中sort sorted reverse reversed函数的区别说明
May 11 Python
Python pandas 列转行操作详解(类似hive中explode方法)
May 18 Python
基于 Python 实践感知器分类算法
Jan 07 Python
PyQt5中QSpinBox计数器的实现
Jan 18 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
thinkPHP中分页用法实例分析
2015/12/26 PHP
Yii框架的布局文件实例分析
2019/09/04 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
JS编程小常识很有用
2012/11/26 Javascript
jQuery获取样式中的背景颜色属性值/颜色值
2012/12/17 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
php+js实现倒计时功能
2014/06/02 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
2015/07/27 Javascript
JS实现自动切换文字的导航效果代码
2015/08/27 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
JavaScript类型系统之Object详解
2016/01/07 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
javascript中对Date类型的常用操作小结
2016/05/19 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
angular和BootStrap3实现购物车功能
2017/01/25 Javascript
vue.js的安装方法
2017/05/12 Javascript
js 递归json树实现根据子id查父id的方法分析
2019/11/08 Javascript
vue页面更新patch的实现示例
2020/03/25 Javascript
vue路由分文件拆分管理详解
2020/08/13 Javascript
vue组件入门知识全梳理
2020/09/21 Javascript
Python变量和字符串详解
2017/04/29 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
Python中输入和输出(打印)数据实例方法
2019/10/13 Python
澳大利亚宠物食品和药物在线:Jumbo Pets
2018/03/24 全球购物
一道Delphi面试题
2016/10/28 面试题
2014三八妇女节活动总结范文四篇
2014/03/09 职场文书
简历中个人自我评价分享
2014/03/15 职场文书
工厂门卫的岗位职责
2014/07/27 职场文书
工作作风懒散检讨书
2014/10/29 职场文书
奖学金感谢信
2015/01/21 职场文书
银行给客户的感谢信
2015/01/23 职场文书
十大冰系宝可梦排名,颜值最高的阿罗拉九尾,第三使用率第一
2022/03/18 日漫
Kubernetes控制节点的部署
2022/04/01 Servers
MySQL sql模式设置引起的问题
2022/05/15 MySQL