使用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中二维列表如何获取子区域元素的组成
Jan 19 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
May 30 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
Sep 13 Python
在Python中分别打印列表中的每一个元素方法
Nov 07 Python
python处理两种分隔符的数据集方法
Dec 12 Python
详解Python中pandas的安装操作说明(傻瓜版)
Apr 08 Python
Python中利用LSTM模型进行时间序列预测分析的实现
Jul 26 Python
python实现对图片进行旋转,放缩,裁剪的功能
Aug 07 Python
Python反爬虫伪装浏览器进行爬虫
Feb 28 Python
python3 xpath和requests应用详解
Mar 06 Python
python报错: 'list' object has no attribute 'shape'的解决
Jul 15 Python
Python爬虫入门案例之回车桌面壁纸网美女图片采集
Oct 16 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
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
php显示指定目录下子目录的方法
2015/03/20 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
node.js中的fs.fstatSync方法使用说明
2014/12/15 Javascript
jQuery实现图片预加载效果
2015/11/27 Javascript
自定义Angular指令与jQuery实现的Bootstrap风格数据双向绑定的单选与多选下拉框
2015/12/12 Javascript
一个简单的JavaScript Map实例(分享)
2016/08/03 Javascript
Javascript在IE和Firefox浏览器常见兼容性问题总结
2016/08/03 Javascript
js判断一个字符串是以某个字符串开头的简单实例
2016/12/27 Javascript
jQuery插件imgAreaSelect基础讲解
2017/05/26 jQuery
基于openlayers4实现点的扩散效果
2020/08/17 Javascript
原生js调用json方法总结
2018/02/22 Javascript
5分钟学会Vue动画效果(小结)
2018/07/21 Javascript
深入了解JavaScript 的 WebAssembly
2019/06/15 Javascript
vue点击自增和求和的实例代码
2019/11/06 Javascript
vue父子组件间引用之$parent、$children
2020/05/20 Javascript
[01:29:42]Liquid vs VP Supermajor决赛 BO 第一场 6.10
2018/07/05 DOTA
[01:38]完美世界DOTA2联赛PWL S3 集锦第四期
2020/12/21 DOTA
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
python使用nntp读取新闻组内容的方法
2015/05/08 Python
django从请求到响应的过程深入讲解
2018/08/01 Python
详解python中的线程与线程池
2019/05/10 Python
几款好用的python工具库(小结)
2020/10/20 Python
jupyter notebook快速入门及使用详解
2020/11/13 Python
一款纯css3实现的漂亮的404页面的实例教程
2014/11/27 HTML / CSS
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
百丽国际旗下购物网站:优购
2017/02/28 全球购物
以特惠价提供在线奢侈品购物:FRMODA.com
2018/01/25 全球购物
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
学生上课迟到检讨书
2015/01/01 职场文书
银行给客户的感谢信
2015/01/23 职场文书
《最后一头战象》教学反思
2016/02/16 职场文书
电脑无法安装Windows 11怎么办?无法安装Win11的解决方法
2021/11/21 数码科技
Python字符串的转义字符
2022/04/07 Python
css中有哪些方式可以隐藏页面元素及区别
2022/06/16 HTML / CSS