使用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 相关文章推荐
操作Windows注册表的简单的Python程序制作教程
Apr 07 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
May 24 Python
python 脚本生成随机 字母 + 数字密码功能
May 26 Python
Linux系统(CentOS)下python2.7.10安装
Sep 26 Python
python智联招聘爬虫并导入到excel代码实例
Sep 09 Python
Python搭建HTTP服务过程图解
Dec 14 Python
python输入一个水仙花数(三位数) 输出百位十位个位实例
May 03 Python
使用TensorBoard进行超参数优化的实现
Jul 06 Python
python小技巧——将变量保存在本地及读取
Nov 13 Python
详解Python爬虫爬取博客园问题列表所有的问题
Jan 18 Python
python 爬取华为应用市场评论
May 29 Python
能让Python提速超40倍的神器Cython详解
Jun 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安全编程之加密功能
2006/10/09 PHP
PHP isset()与empty()的使用区别详解
2010/08/29 PHP
PHP中for与foreach的区别分析
2011/03/09 PHP
谈谈PHP中substr和substring的正确用法及相关参数的介绍
2015/12/16 PHP
php+mysql实现的二级联动菜单效果详解
2016/05/10 PHP
PHP实现无限分类的实现方法
2016/11/14 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
Dojo 学习要点
2010/09/03 Javascript
JavaScript语言对Unicode字符集的支持详解
2014/12/30 Javascript
Angular用来控制元素的展示与否的原生指令介绍
2015/01/07 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
浅析jquery与checkbox的checked属性的问题
2016/04/27 Javascript
基于angularJS的表单验证指令介绍
2016/10/21 Javascript
详解使用create-react-app添加css modules、sasss和antd
2018/07/31 Javascript
详解JavaScript中的坐标和距离
2019/05/27 Javascript
详解Vue中的基本语法和常用指令
2019/07/23 Javascript
vue项目中全局引入1个.scss文件的问题解决
2019/08/01 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
JavaScript Dom 绑定事件操作实例详解
2019/10/02 Javascript
微信小程序去除左上角返回键的实现方法
2020/03/06 Javascript
微信小程序用canvas画图并分享
2020/03/09 Javascript
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
python实现得到当前登录用户信息的方法
2019/06/21 Python
用python建立两个Y轴的XY曲线图方法
2019/07/08 Python
python解释器安装教程的方法步骤
2020/07/02 Python
css3+伪元素实现鼠标移入时下划线向两边展开的效果
2017/04/25 HTML / CSS
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
超市采购员岗位职责
2014/02/01 职场文书
万年牢教学反思
2014/02/15 职场文书
乡领导班子四风问题对照检查材料
2014/09/25 职场文书
道路交通事故赔偿协议书
2014/10/24 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
网上祭英烈活动总结
2015/02/04 职场文书
死亡诗社观后感
2015/06/05 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers