使用python对excle和json互相转换的示例


Posted in Python onOctober 23, 2018

python 版本:2.7

只是读取excel的话可以直接使用xlrd

1、excle to json

代码如下

# -*-coding:utf8 -*-
import xlrd
from collections import OrderedDict
import json

import codecs

file_name=raw_input('请输入要转换的excle文件路径:')
wb = xlrd.open_workbook(file_name)
dict_list = []
sh = wb.sheet_by_index(0)
title = sh.row_values(0)
for rownum in range(1, sh.nrows):
 rowvalue = sh.row_values(rownum)
 single = OrderedDict()
 for colnum in range(0, len(rowvalue)):
 
  print(title[colnum], rowvalue[colnum])
  single[title[colnum]] = rowvalue[colnum]
 dict_list.append(single)
 
j = json.dumps(dict_list)


with codecs.open(file_name[:-5]'.json',"w","utf-8") as f:
 f.write(j)

2、json to excle

代码如下

注意:标题会写在最后一行,主要针对字段不同的json数据。

import json
import os
from openpyxl import Workbook
wb = Workbook()
ws = wb.active


cols = []
def json2excel(jsfile, excfile):
# 读取json数据
a = 1
if os.path.exists(jsfile):
with open(jsfile, 'r') as fp:
while True:
line = fp.readline()
if not line:
break
jsdata = json.loads(line)
for k in jsdata.keys():
if k not in cols:
cols.append(k)
rowdata = []
for col in cols:
rowdata.append(jsdata.get(col))
print '正在写入的行数:'a
ws.append(rowdata) # 写行
a += 1
ws.append(cols) # 标题
print('保存中')
wb.save(excfile) # 保存

if __name__ == '__main__':
import sys
if len(sys.argv) == 3:
jsfile = sys.argv[1]
excfile = sys.argv[2]
json2excel(jsfile, excfile)
else:
print("Usage: python writeExc.py xx.json xx.xlsx")

以上这篇使用python对excle和json互相转换的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python监控网卡流量并使用graphite绘图的示例
Apr 27 Python
Python3里的super()和__class__使用介绍
Apr 23 Python
Python实现批量转换文件编码的方法
Jul 28 Python
python各种语言间时间的转化实现代码
Mar 23 Python
python3模块smtplib实现发送邮件功能
May 22 Python
Python基于property实现类的特性操作示例
Jun 15 Python
python下载微信公众号相关文章
Feb 26 Python
简单的Python调度器Schedule详解
Aug 30 Python
python实现的批量分析xml标签中各个类别个数功能示例
Dec 30 Python
PythonPC客户端自动化实现原理(pywinauto)
May 28 Python
python中round函数如何使用
Jun 19 Python
Python中使用aiohttp模拟服务器出现错误问题及解决方法
Oct 31 Python
Python实现将Excel转换成为image的方法
Oct 23 #Python
python pandas实现excel转为html格式的方法
Oct 23 #Python
使用11行Python代码盗取了室友的U盘内容
Oct 23 #Python
python利用pandas将excel文件转换为txt文件的方法
Oct 23 #Python
python实现根据指定字符截取对应的行的内容方法
Oct 23 #Python
python中正则表达式 re.findall 用法
Oct 23 #Python
python 实现批量xls文件转csv文件的方法
Oct 23 #Python
You might like
PHP中在数据库中保存Checkbox数据(2)
2006/10/09 PHP
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
PHP实现HTML生成PDF文件的方法
2014/11/07 PHP
PHP生成唯一订单号
2015/07/05 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
[原创]php token使用与验证示例【测试可用】
2017/08/30 PHP
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
jquery 提交值不为空的元素示例代码
2013/05/10 Javascript
Jquery uploadify图片上传插件无法上传的解决方法
2013/12/16 Javascript
jquery预览图片实现鼠标放上去显示实际大小
2014/01/16 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
浅析如何利用JavaScript进行语音识别
2016/10/27 Javascript
JavaScript中 this 指向问题深度解析
2017/02/21 Javascript
JS给按钮添加跳转功能类似a标签
2017/05/30 Javascript
JS自定义滚动条效果简单实现代码
2020/10/27 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
聊聊JS动画库 Velocity.js的使用
2018/03/13 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
详解JavaScript中的坐标和距离
2019/05/27 Javascript
js实现微信聊天界面
2020/08/09 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
[00:44]华丽开场!DOTA2勇士令状带来全新对阵画面
2019/05/15 DOTA
Pyqt5如何让QMessageBox按钮显示中文示例代码
2019/04/11 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
css3 仿写阿里云水纹效果的示例代码
2018/02/10 HTML / CSS
html5表单及新增的改良元素详解
2016/06/07 HTML / CSS
Timberland澳大利亚官网:全球领先的户外品牌
2019/12/10 全球购物
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
应届生船舶驾驶求职信
2013/10/19 职场文书
高中运动会入场词
2014/02/14 职场文书
火锅店营销方案
2014/02/26 职场文书
教育专业毕业生推荐信
2014/07/10 职场文书
尊老爱幼演讲稿
2014/09/04 职场文书
2014年科室工作总结
2014/11/20 职场文书
资料员岗位职责范本
2015/04/13 职场文书
详解Spring Boot使用系统参数表提升系统的灵活性
2021/06/30 Java/Android