使用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的Django框架中的select_related函数对QuerySet 查询的优化
Apr 01 Python
Python程序退出方式小结
Dec 09 Python
python机器学习实战之树回归详解
Dec 20 Python
django启动uwsgi报错的解决方法
Apr 08 Python
python 限制函数执行时间,自己实现timeout的实例
Jan 12 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
Jul 04 Python
从列表或字典创建Pandas的DataFrame对象的方法
Jul 06 Python
python @propert装饰器使用方法原理解析
Dec 25 Python
python matplotlib中的subplot函数使用详解
Jan 19 Python
浅谈Django前端后端值传递问题
Jul 15 Python
Python利用pip安装tar.gz格式的离线资源包
Sep 14 Python
利用python绘制中国地图(含省界、河流等)
Sep 21 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 whois查询API制作方法
2011/06/23 PHP
php smarty模板引擎的6个小技巧
2014/04/24 PHP
ioncube_loader_win_5.2.dll的错误解决方法
2015/01/04 PHP
php里array_work用法实例分析
2015/07/13 PHP
利用php输出不同的心形图案
2016/04/22 PHP
Yii2 hasOne(), hasMany() 实现三表关联的方法(两种)
2017/02/15 PHP
PHPUnit测试私有属性和方法功能示例
2018/06/12 PHP
PHP使用JpGraph绘制折线图操作示例【附源码下载】
2019/10/18 PHP
在textarea中显示html页面的javascript代码
2007/04/20 Javascript
jQuery 动画基础教程
2008/12/25 Javascript
javascript中expression的用法整理
2014/05/13 Javascript
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
浅析node连接数据库(express+mysql)
2015/11/30 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
Javascript技术栈中的四种依赖注入小结
2016/02/27 Javascript
angular双向绑定模拟探索
2016/12/26 Javascript
Vue组件之全局组件与局部组件的使用详解
2017/10/09 Javascript
jQuery实现带右侧索引功能的通讯录示例【附源码下载】
2018/04/17 jQuery
JS实现简单的星期格式转换功能示例
2018/07/23 Javascript
JS基于ES6新特性async await进行异步处理操作示例
2019/02/02 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
深入理解redux之compose的具体应用
2020/01/12 Javascript
[03:37]2014DOTA2国际邀请赛 主赛事第一日胜者组TOPPLAY
2014/07/19 DOTA
Python制作刷网页流量工具
2017/04/23 Python
pyqt5简介及安装方法介绍
2018/01/31 Python
对Python中9种生成新对象的方法总结
2018/05/23 Python
Python中format()格式输出全解
2019/04/12 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
2019/06/04 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
分公司经理岗位职责
2013/11/11 职场文书
电脑教师的教学自我评价
2013/11/26 职场文书
文明班级建设方案
2014/05/15 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
水知道答案观后感
2015/06/08 职场文书
Python3.10的一些新特性原理分析
2021/09/15 Python