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中为什么要用self探讨
Apr 14 Python
Python基础语法(Python基础知识点)
Feb 28 Python
Python中多线程的创建及基本调用方法
Jul 08 Python
Python极简代码实现杨辉三角示例代码
Nov 15 Python
Mac中Python 3环境下安装scrapy的方法教程
Oct 26 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
Dec 08 Python
python创建列表和向列表添加元素的实现方法
Dec 25 Python
Selenium定时刷新网页的实现代码
Oct 31 Python
Python3环境安装Scrapy爬虫框架过程及常见错误
Jul 12 Python
Django REST Framework序列化外键获取外键的值方法
Jul 26 Python
Python爬虫如何应对Cloudflare邮箱加密
Jun 24 Python
python数字转对应中文的方法总结
Aug 02 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
桌面中心(三)修改数据库
2006/10/09 PHP
PHP数组无限分级数据的层级化处理代码
2012/12/29 PHP
使用php清除bom示例
2014/03/03 PHP
PHP学习笔记之字符串编码的转换和判断
2014/05/22 PHP
PHP中的常见魔术方法功能作用及用法实例
2015/07/01 PHP
Symfony2学习笔记之系统路由详解
2016/03/17 PHP
Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
2016/06/13 PHP
php 读取输出其他文件的实现方法
2016/07/26 PHP
js cookies实现简单统计访问次数
2009/11/24 Javascript
js 窗口抖动示例
2013/09/04 Javascript
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
js获取通过ajax返回的map型的JSONArray的方法
2014/01/09 Javascript
JS的框架Polymer中的dom-if和is属性使用说明
2015/07/29 Javascript
学习vue.js条件渲染
2016/12/03 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
2017/05/12 Javascript
使用AngularJS对表单提交内容进行验证的操作方法
2017/07/12 Javascript
JavaScript鼠标拖拽事件详解
2020/04/03 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
python回调函数的使用方法
2014/01/23 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
使用pip安装python库的多种方式
2019/07/31 Python
Python实现打印实心和空心菱形
2019/11/23 Python
10个顶级Python实用库推荐
2021/03/04 Python
解决canvas转base64/jpeg时透明区域变成黑色背景的方法
2016/10/23 HTML / CSS
Bally美国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/18 全球购物
美国最大的在线水培用品商店:GrowersHouse.com
2018/08/14 全球购物
牦牛毛户外探险服装:Kora
2019/02/08 全球购物
私有程序集与共享程序集有什么区别
2013/04/05 面试题
十岁生日家长答谢词
2014/01/17 职场文书
护理专业学生职业生涯规划范文
2014/03/11 职场文书
四群教育工作实施方案
2014/03/26 职场文书
博士生求职信
2014/07/06 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书
利用Python判断你的密码难度等级
2021/06/02 Python
Python通过loop.run_in_executor执行同步代码 同步变为异步
2022/04/11 Python