使用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中实现字符串类型与字典类型相互转换的方法
Aug 18 Python
Python实现简单网页图片抓取完整代码实例
Dec 15 Python
Python3之文件读写操作的实例讲解
Jan 23 Python
python 弹窗提示警告框MessageBox的实例
Jun 18 Python
python 实现在一张图中绘制一个小的子图方法
Jul 07 Python
Mac安装python3的方法步骤
Aug 09 Python
解决pycharm最左侧Tool Buttons显示不全的问题
Dec 17 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
May 25 Python
k-means 聚类算法与Python实现代码
Jun 01 Python
python collections模块的使用
Oct 16 Python
如何在vscode中安装python库的方法步骤
Jan 06 Python
Python接口自动化之文件上传/下载接口详解
Apr 05 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
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
2013/06/20 PHP
PHP 双链表(SplDoublyLinkedList)简介和使用实例
2015/05/12 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
2019/02/16 PHP
JavaScript中的类继承
2010/11/25 Javascript
JS文本框追加多个下拉框的值的简单实例
2013/07/12 Javascript
javascript中创建对象的几种方法总结
2013/11/01 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
JavaScript 里的类数组对象
2015/04/08 Javascript
javascript实现跨域的方法汇总
2015/06/25 Javascript
js鼠标单击和双击事件冲突问题的快速解决方法
2016/07/11 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
js判断价格,必须为数字且不能为负数的实现方法
2016/10/07 Javascript
JS实现弹出下载对话框及常见文件类型的下载
2017/07/13 Javascript
jquery 键盘事件的使用方法详解
2017/09/13 jQuery
浅谈webpack组织模块的原理
2018/03/10 Javascript
vue定义全局变量和全局方法的方法示例
2018/08/01 Javascript
nodejs对项目下所有空文件夹创建gitkeep的方法
2019/08/02 NodeJs
浅谈Vue SSR中的Bundle的具有使用
2019/11/21 Javascript
python异步任务队列示例
2014/04/01 Python
Python可跨平台实现获取按键的方法
2015/03/05 Python
利用python将pdf输出为txt的实例讲解
2018/04/23 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
Python 列表反转显示的四种方法
2020/11/16 Python
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
师范教师大学生职业生涯规划范文
2014/01/05 职场文书
三月学雷锋活动总结
2014/06/26 职场文书
银行主办会计岗位职责
2014/08/13 职场文书
责任书范本
2014/08/25 职场文书
口才训练演讲稿范文
2014/09/16 职场文书
论文答辩开场白大全
2015/05/27 职场文书
公司员工离职感言
2015/08/03 职场文书
装修公司管理制度
2015/08/05 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
四则混合运算教学反思
2016/02/23 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书
简单聊一聊SQL注入及防止SQL注入
2022/03/23 MySQL