使用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编写简单爬虫资料汇总
Mar 22 Python
Python自动化部署工具Fabric的简单上手指南
Apr 19 Python
python调用Delphi写的Dll代码示例
Dec 05 Python
浅谈pandas中shift和diff函数关系
Apr 08 Python
使用PM2+nginx部署python项目的方法示例
Nov 07 Python
详解如何用python实现一个简单下载器的服务端和客户端
Oct 28 Python
Python hashlib模块实例使用详解
Dec 24 Python
python同义词替换的实现(jieba分词)
Jan 21 Python
python虚拟环境模块venv使用及示例
Mar 04 Python
pycharm 2018 激活码及破解补丁激活方式
Sep 21 Python
浅谈Python 函数式编程
Jun 20 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
Feb 18 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
Terran剧情介绍
2020/03/14 星际争霸
同一空间绑定多个域名而实现访问不同页面的PHP代码
2006/12/06 PHP
MySql 按时间段查询数据方法(实例说明)
2008/11/02 PHP
PHP 日常开发小技巧
2009/09/23 PHP
PHP cdata 处理(详细介绍)
2013/07/05 PHP
PHP扩展模块memcached长连接使用方法分析
2014/12/24 PHP
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
php简单统计在线人数的方法
2016/05/10 PHP
php封装的page分页类完整实例
2016/10/18 PHP
PHP实现一个多功能购物网站的案例
2017/09/13 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
2019/08/05 PHP
JQuery UI皮肤定制
2009/07/27 Javascript
javascript 控制 html元素 显示/隐藏实现代码
2009/09/01 Javascript
限制上传文件大小和格式的jQuery插件实例
2015/01/24 Javascript
在JavaScript中使用对数Math.log()方法的教程
2015/06/15 Javascript
深入理解关于javascript中apply()和call()方法的区别
2016/04/12 Javascript
微信小程序 二维码canvas绘制实例详解
2017/01/06 Javascript
jQuery插件zTree实现删除树子节点的方法示例
2017/03/08 Javascript
js实现抽奖效果
2017/03/27 Javascript
详解vue-cli 构建Vue项目遇到的坑
2017/08/30 Javascript
微信小程序实现animation动画
2018/01/26 Javascript
vue单页缓存方案分析及实现
2018/09/25 Javascript
JS实现简易贪吃蛇游戏
2020/08/24 Javascript
[01:08:48]LGD vs OG 2018国际邀请赛淘汰赛BO3 第三场 8.25
2018/08/29 DOTA
Python编码时应该注意的几个情况
2013/03/04 Python
使用Python编写提取日志中的中文的脚本的方法
2015/04/30 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
Django 路由控制的实现
2019/07/17 Python
Python virtualenv虚拟环境实现过程解析
2020/04/18 Python
学会迭代器设计模式,帮你大幅提升python性能
2021/01/03 Python
html table呈现个人简历以及单元格宽度失效的问题解决
2021/01/22 HTML / CSS
旅行社优秀创业计划书
2014/08/16 职场文书
导游词300字
2015/02/13 职场文书
2015年财务工作总结范文
2015/03/31 职场文书
培训学校2015年度工作总结
2015/07/20 职场文书
同学会感言
2015/07/30 职场文书