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中使用__slots__方法的详细教程
Apr 28 Python
Python标准库之Sys模块使用详解
May 23 Python
Python爬虫爬验证码实现功能详解
Apr 14 Python
Python实现OpenCV的安装与使用示例
Mar 30 Python
python获取代码运行时间的实例代码
Jun 11 Python
opencv python 基于KNN的手写体识别的实例
Aug 03 Python
让代码变得更易维护的7个Python库
Oct 09 Python
Python Unittest根据不同测试环境跳过用例的方法
Dec 16 Python
django框架防止XSS注入的方法分析
Jun 21 Python
解决python 文本过滤和清理问题
Aug 28 Python
python多进程(加入进程池)操作常见案例
Oct 21 Python
Django+Nginx+uWSGI 定时任务的实现方法
Jan 22 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
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
10条PHP编程习惯助你找工作
2008/09/29 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
2011/10/17 PHP
PHP在线书签系统分享
2016/01/04 PHP
功能强大的php文件上传类
2016/08/29 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
php断点续传之文件分割合并详解
2016/12/13 PHP
Git命令之分支详解
2021/03/02 PHP
js 获取class的元素的方法 以及创建方法getElementsByClassName
2013/03/11 Javascript
运算符&&的三个不同层次
2013/04/07 Javascript
js网页右下角提示框实例
2014/10/14 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
JavaScript Date 知识浅析
2017/01/29 Javascript
javascript将list转换成树状结构的实例
2017/09/08 Javascript
浅析JavaScript异步代码优化
2019/03/18 Javascript
利用vue-i18n实现多语言切换效果的方法
2019/06/19 Javascript
js图片查看器插件用法示例
2019/06/22 Javascript
原生JS实现微信通讯录
2020/06/18 Javascript
[01:31]完美与DOTA2历程
2014/07/31 DOTA
K-近邻算法的python实现代码分享
2017/12/09 Python
Python连接Redis的基本配置方法
2018/09/13 Python
Python使用post及get方式提交数据的实例
2019/01/24 Python
Django 静态文件配置过程详解
2019/07/23 Python
python3用PyPDF2解析pdf文件,用正则匹配数据方式
2020/05/12 Python
Python新手如何理解循环加载模块
2020/05/29 Python
Python with语句用法原理详解
2020/07/03 Python
End Clothing美国站:英国男士潮牌商城
2018/04/20 全球购物
加拿大床上用品、家居装饰、厨房和浴室产品购物网站:Linen Chest
2018/06/05 全球购物
商务英语求职自荐信范文
2013/12/24 职场文书
应届生如何写自荐信
2014/01/05 职场文书
全陪导游欢迎词
2014/01/17 职场文书
理工学院学生自我鉴定
2014/02/23 职场文书
捐助倡议书范文
2014/04/15 职场文书
初中生考试作弊检讨书
2014/12/14 职场文书
工伤劳动仲裁代理词
2015/05/25 职场文书
MySql如何将查询的出来的字段进行转换
2022/06/14 MySQL