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正则表达式介绍
Aug 06 Python
python发送邮件接收邮件示例分享
Jan 21 Python
Python去掉字符串中空格的方法
Mar 11 Python
Python中if __name__ == '__main__'作用解析
Jun 29 Python
python爬虫headers设置后无效的解决方法
Oct 21 Python
浅谈Python在pycharm中的调试(debug)
Nov 29 Python
解决新版Pycharm中Matplotlib图像不在弹出独立的显示窗口问题
Jan 15 Python
对python中的try、except、finally 执行顺序详解
Feb 18 Python
详解Python给照片换底色(蓝底换红底)
Mar 22 Python
Python写出新冠状病毒确诊人数地图的方法
Feb 12 Python
python3实现飞机大战
Nov 29 Python
pyspark对Mysql数据库进行读写的实现
Dec 30 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表单重复提交实现方法
2015/09/29 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
js编码、解码函数介绍及其使用示例
2013/09/05 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
jquery实现拖拽调整Div大小
2015/01/30 Javascript
浅谈Node.js中的定时器
2015/06/18 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
Javascript缓存API
2016/06/14 Javascript
AngularJS 整理一些优化的小技巧
2016/08/18 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
Ionic + Angular.js实现图片轮播的方法示例
2017/05/21 Javascript
Vue项目中跨域问题解决方案
2018/06/05 Javascript
Vue中mintui的field实现blur和focus事件的方法
2018/08/25 Javascript
nodejs npm错误Error:UNKNOWN:unknown error,mkdir 'D:\Develop\nodejs\node_global'at Error
2019/03/02 NodeJs
用Python遍历C盘dll文件的方法
2015/05/06 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
Python中表达式x += y和x = x+y 的区别详解
2017/06/20 Python
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
2018/02/03 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
浅谈python3发送post请求参数为空的情况
2018/12/28 Python
Python多项式回归的实现方法
2019/03/11 Python
Python中调用其他程序的方式详解
2019/08/06 Python
keras tensorflow 实现在python下多进程运行
2020/02/06 Python
Tensorflow 模型转换 .pb convert to .lite实例
2020/02/12 Python
Python+Opencv实现把图片、视频互转的示例
2020/12/17 Python
CSS3的resize属性使用初探
2015/09/27 HTML / CSS
Python里面如何实现tuple和list的转换
2012/06/13 面试题
群众路线个人对照检查材料
2014/09/23 职场文书
先进个人推荐材料
2014/12/29 职场文书
教师个人发展总结
2015/02/11 职场文书
八年级英语教学反思
2016/02/15 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python
错误码NET::ERR_CERT_DATE_INVALID证书已过期解决方法?
2022/07/07 数码科技