使用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编码爬坑指南(必看)
Jun 10 Python
python使用threading获取线程函数返回值的实现方法
Nov 15 Python
使用Python实现windows下的抓包与解析
Jan 15 Python
Python爬虫实现全国失信被执行人名单查询功能示例
May 03 Python
Python线性拟合实现函数与用法示例
Dec 13 Python
对python中list的拷贝与numpy的array的拷贝详解
Jan 29 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
使用python将多个excel文件合并到同一个文件的方法
Jul 09 Python
Django 全局的static和templates的使用详解
Jul 19 Python
python 默认参数相关知识详解
Sep 18 Python
浅谈python 类方法/静态方法
Sep 18 Python
Python爬虫获取op.gg英雄联盟英雄对位胜率的源码
Jan 29 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实现将textarea的值根据回车换行拆分至数组
2015/06/10 PHP
PHP二维数组去重算法
2016/12/17 PHP
PHPstorm快捷键(分享)
2017/07/17 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
仿迅雷焦点广告效果(JQuery版)
2008/11/19 Javascript
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
jquery获取select选中值的方法分析
2015/12/22 Javascript
jQuery实现的可编辑表格完整实例
2016/06/20 Javascript
开源免费天气预报接口API及全国所有地区代码(国家气象局提供)
2016/12/26 Javascript
基于Bootstrap分页的实例讲解(必看篇)
2017/07/04 Javascript
微信小程序删除处理详解
2017/08/16 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
微信小程序基于本地缓存实现点赞功能的方法
2017/12/18 Javascript
利用SpringMVC过滤器解决vue跨域请求的问题
2018/02/10 Javascript
详解js创建对象的几种方法及继承
2019/04/12 Javascript
gulp构建小程序的方法步骤
2019/05/31 Javascript
javascript合并两个数组最简单的实现方法
2019/09/14 Javascript
vue和iview实现Scroll 数据无限滚动功能
2019/10/31 Javascript
javascript/jquery实现点击触发事件的方法分析
2019/11/11 jQuery
[08:53]DOTA2每周TOP10 精彩击杀集锦vol.9
2014/06/26 DOTA
python中精确输出JSON浮点数的方法
2014/04/18 Python
在Python的列表中利用remove()方法删除元素的教程
2015/05/21 Python
用pyqt5 给按钮设置图标和css样式的方法
2019/06/24 Python
Python从文件中读取指定的行以及在文件指定位置写入
2019/09/06 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
Python 将 QQ 好友头像生成祝福语的实现代码
2020/05/03 Python
keras中的loss、optimizer、metrics用法
2020/06/15 Python
欧舒丹澳洲版:L’OCCITANE
2017/07/17 全球购物
运动会表扬稿大全
2014/01/16 职场文书
开学季活动策划方案
2014/02/28 职场文书
企业形象策划方案
2014/05/29 职场文书
考勤制度通知
2015/04/25 职场文书
初中毕业感言300字
2015/07/31 职场文书
创业计划之特色精品店
2019/08/12 职场文书
话题作文之诚信
2019/11/28 职场文书