使用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 相关文章推荐
数据清洗--DataFrame中的空值处理方法
Jul 03 Python
面向初学者的Python编辑器Mu
Oct 08 Python
Python3爬楼梯算法示例
Mar 04 Python
创建Django项目图文实例详解
Jun 06 Python
使用Python和OpenCV检测图像中的物体并将物体裁剪下来
Oct 30 Python
python画蝴蝶曲线图的实例
Nov 21 Python
python中设置超时跳过,超时退出的方式
Dec 13 Python
Python调用接口合并Excel表代码实例
Mar 31 Python
Python3实现飞机大战游戏
Apr 24 Python
你需要学会的8个Python列表技巧
Jun 24 Python
详细分析Python collections工具库
Jul 16 Python
Pycharm 如何设置HTML文件自动补全代码或标签
May 21 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程序的国际化实现方法(利用gettext)
2011/08/14 PHP
如何使用PHP计算上一个月的今天
2013/05/23 PHP
php使用ZipArchive函数实现文件的压缩与解压缩
2015/10/27 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
Smarty模板类内部原理实例分析
2019/07/03 PHP
使用jquery清空、复位整个输入域
2015/04/02 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
js行号显示的文本框实现效果(兼容多种浏览器 )
2015/10/23 Javascript
jQuery实现文本框邮箱输入自动补全效果
2015/11/17 Javascript
JavaScript实现身份证验证代码
2016/02/17 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
2017/09/18 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
利用angular、react和vue实现相同的面试题组件
2018/02/19 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
2018/07/03 jQuery
vue实现五子棋游戏
2020/05/28 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
Python 异常处理实例详解
2014/03/12 Python
python生成随机mac地址的方法
2015/03/16 Python
使用Python的Tornado框架实现一个一对一聊天的程序
2015/04/25 Python
python实现自主查询实时天气
2018/06/22 Python
符合语言习惯的 Python 优雅编程技巧【推荐】
2018/09/25 Python
python利用Tesseract识别验证码的方法示例
2019/01/21 Python
使用python来调用CAN通讯的DLL实现方法
2019/07/03 Python
selenium学习教程之定位以及切换frame(iframe)
2021/01/04 Python
Python读取pdf表格写入excel的方法
2021/01/22 Python
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
Melissa鞋马来西亚官方网站:MDreams马来西亚
2018/04/05 全球购物
Whistles官网:英国女装品牌
2020/08/14 全球购物
统计学教授推荐信
2014/09/18 职场文书
给下属加薪申请报告
2015/05/15 职场文书
趣味运动会赞词
2015/07/22 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
如何用python反转图片,视频
2021/04/24 Python
SpringBoot使用ip2region获取地理位置信息的方法
2022/06/21 Java/Android