使用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教程之用py2exe将PY文件转成EXE文件
Jun 12 Python
ubuntu系统下 python链接mysql数据库的方法
Jan 09 Python
Django与JS交互的示例代码
Aug 23 Python
Queue 实现生产者消费者模型(实例讲解)
Nov 13 Python
Python3之简单搭建自带服务器的实例讲解
Jun 04 Python
Python实现聊天机器人的示例代码
Jul 09 Python
Python实现Linux监控的方法
May 16 Python
python画双y轴图像的示例代码
Jul 07 Python
解决Keras 中加入lambda层无法正常载入模型问题
Jun 16 Python
python实现取余操作的简单实例
Aug 16 Python
基于pycharm 项目和项目文件命名规则的介绍
Jan 15 Python
python ansible自动化运维工具执行流程
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
抓取YAHOO股票报价的类
2009/05/15 PHP
php中批量替换文件名的实现代码
2011/07/20 PHP
php 的加密函数 md5,crypt,base64_encode 等使用介绍
2012/04/09 PHP
注册页面之前先验证用户名是否存在的php代码
2012/07/14 PHP
php导出excel格式数据问题
2014/03/11 PHP
php获取apk包信息的方法
2014/08/15 PHP
在Windows XP下安装Apache+MySQL+PHP环境
2015/02/22 PHP
php的4种常见运行方式
2015/03/20 PHP
PHP编写的图片验证码类文件分享
2016/06/06 PHP
简单谈谈PHP中的trait
2017/02/25 PHP
判断多个input type=file是否有已经选择好文件的代码
2012/05/23 Javascript
javascript中判断一个值是否在数组中并没有直接使用
2012/12/17 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
JS针对浏览器窗口关闭事件的监听方法集锦
2016/06/24 Javascript
NodeJS处理Express中异步错误
2017/03/26 NodeJs
解决vue2.x中数据渲染以及vuex缓存的问题
2017/07/13 Javascript
基于node下的http小爬虫的示例代码
2018/01/11 Javascript
浅谈vue首屏加载优化
2018/06/28 Javascript
[56:12]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第一场 6.3
2018/06/04 DOTA
python动态性强类型用法实例
2015/05/09 Python
python编写爬虫小程序
2015/05/14 Python
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
解决Python的str强转int时遇到的问题
2018/04/09 Python
Python 使用list和tuple+条件判断详解
2019/07/30 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
python内存管理机制原理详解
2019/08/12 Python
python xlwt如何设置单元格的自定义背景颜色
2019/09/03 Python
Python常用库大全及简要说明
2020/01/17 Python
StubHub美国:购买或出售您的门票
2019/07/09 全球购物
数学国培研修感言
2014/02/13 职场文书
预备党员表决心书
2014/03/11 职场文书
优化经济发展环境工作总结
2015/08/11 职场文书
幼儿园大班教育随笔
2015/08/14 职场文书
SpringAop日志找不到方法的处理
2021/06/21 Java/Android
Win11如何查看显卡型号 Win11查看显卡型号的方法
2022/08/14 数码科技