使用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字符串和文件操作常用函数分析
Apr 08 Python
Python实现将DOC文档转换为PDF的方法
Jul 25 Python
Pycharm学习教程(6) Pycharm作为Vim编辑器使用
May 03 Python
Python设计模式之MVC模式简单示例
Jan 10 Python
Python中list查询及所需时间计算操作示例
Jun 21 Python
Python实现base64编码的图片保存到本地功能示例
Jun 22 Python
Python3的高阶函数map,reduce,filter的示例详解
Jul 23 Python
python列表插入append(), extend(), insert()用法详解
Sep 14 Python
如何基于pythonnet调用halcon脚本
Jan 20 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
Apr 19 Python
Python实战之用tkinter库做一个鼠标模拟点击器
Apr 27 Python
解决IDEA翻译插件Translation报错更新TTK失败不能使用
Apr 24 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和XSS跨站攻击的防范
2007/04/17 PHP
Zend Guard使用指南及问题处理
2015/01/07 PHP
php实现可运算的验证码
2015/11/10 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
php生成HTML文件的类方法
2019/10/11 PHP
Mootools 1.2教程 滚动条(Slider)
2009/09/15 Javascript
jquery tab标签页的制作
2010/05/10 Javascript
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
基于JQuery的一句话搞定手风琴菜单
2012/09/14 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
2012/10/15 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
2013/08/18 Javascript
分享JavaScript与Java中MD5使用两个例子
2015/12/23 Javascript
jQuery添加和删除输入文本框标签代码
2016/05/20 Javascript
jQuery获取及设置表单input各种类型值的方法小结
2016/05/24 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
深入理解JavaScript继承的多种方式和优缺点
2017/05/12 Javascript
Layui实现带查询条件的分页
2019/07/27 Javascript
layer.confirm点击第一个按钮关闭弹出框的方法
2019/09/09 Javascript
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
videocapture库制作python视频高速传输程序
2013/12/23 Python
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
python脚本监控Tomcat服务器的方法
2018/07/06 Python
python3 flask实现文件上传功能
2020/03/20 Python
django迁移数据库错误问题解决
2019/07/29 Python
python实现简单坦克大战
2020/03/27 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
python编写一个会算账的脚本的示例代码
2020/06/02 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
求职推荐信范文
2015/03/27 职场文书
体育委员竞选稿
2015/11/21 职场文书
创业计划书之宠物店
2019/09/19 职场文书
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android