python 写入excel 效率_python各种excel写入方式的速度对比
经过实验,新建一个excel表格,该表格拥有7个sheet,每个sheet有800条数据,其中最后一个sheet为空。
首先使用openpyxl进行写入操作,代码如下:
book = openpyxl.Workbook()
auths = Auth.objects.filter(owner_id=1)
filename = '导出数据'
for auth in auths:
sheet = book.create_sheet(auth.name, index = 0)
sheet.append([
_("书名"),
_("作者"),
_("译者"),
_("出版社"),
_("序列号"),
_("总页数"),
])
objs = None
objs = Book.objects.filter(owner_id=auth.id)
for u in objs:
data = []
data.append(u.name)
data.append(auth.name)
data.append(u.translator)
data.append(u.press)
data.append(u.serializer)
data.append(u.page)
sheet.append(data)
return ExcelBookResponse(book, filename)
使用xlwt写入数据:
book = xlwt.Workbook()
auths = Auth.objects.filter(owner_id=1)
filename = '导出数据'
for auth in auths:
sheet = book.add_sheet(sensor.name)
sheet.write(0, 0, _("书名"))
sheet.write(0, 1, _("作者"))
sheet.write(0, 2, _("译者"))
sheet.write(0, 3, _("出版社"))
sheet.write(0, 4, _("序列号"))
sheet.write(0, 5, _("总页数"))
i = 1
objs = None
objs = Book.objects.filter(owner_id=auth.id)
for u in objs:
sheet.write(i, 0, u.name)
sheet.write(i, 1, auth.name)
sheet.write(i ,2,u.translator)
sheet.write(i ,3,u.press)
sheet.write(i, 4, u.serializer)
sheet.write(i, 5, u.page)
i += 1
return ExcelBookResponse(book, filename)
使用XlsxWriter写入数据:
book = xlsxwriter.Workbook(output)
auths = Auth.objects.filter(owner_id=1)
for auth in auths:
sheet = book.add_worksheet(sensor.name)
header = [
_("书名"),
_("作者"),
_("译者"),
_("出版社"),
_("序列号"),
_("总页数"),
]
sheet.write_row("A1", header)
objs = Book.objects.filter(owner_id=auth.id)
i = 1
for u in objs:
sheet.write(i, 0, u.name)
sheet.write(i, 1, auth.name)
sheet.write(i ,2,u.translator)
sheet.write(i ,3,u.press)
sheet.write(i, 4, u.serializer)
sheet.write(i, 5, u.page)
i += 1
book.close()
file_ext = 'xlsx'
mimetype = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
# self['Content-Disposition'] = 'attachment; filename*=UTF-8\'\'"{2}.{1}"; filename="{0}.{1}"'.format(filename.replace('"', '\"'), file_ext, urllib.parse.quote(filename.replace('"', '\"'))).encode('utf8')
return HttpResponse(content=output.getvalue(), content_type=mimetype)
三者的时间比较(两种方式的文件内容是一样的):
openpyxl: 文件大小为110.75kb, 平均时间大约为570ms
xlwt: 文件大小为505.91kb,平均时间大约为440ms
XlsxWrite: 文件大小为109.28kb,平均时间大约为500ms
xlwt写入的行数有限制,因此对于较大的文件来说,XlsxWrite的速度较快一点
补充知识:python写入excel文件太慢如何解决-python往excel写入大量数据
目前用的openpyxl,从数据库获取8W行的数据通过openpyxl写入excel,要花费接近8分钟,这也太慢了,用kettle的插件秒进,python有什么方法能提升速度么,或者openpyxl能批量插入么,按行效率太低了
#!/usr/bin/python
# -*- coding: UTF-8 -*-
from openpyxl import Workbook as wbook
def xlsx(filename, rows_info, sheet='Result'):
if filename and sheet:
wb = wbook()
_sheet = wb.active
_sheet.title = sheet
row = _sheet.max_row
for line in rows_info:
if isinstance(line, str):
row_list = [line]
elif isinstance(line, dict):
row_list = list(line.values())
else:
try:
row_list = list(line)
except:
row_list = []
for col in range(0, len(row_list)):
col_info = row_list[col]
_sheet.cell(row, col + 1, col_info)
row += 1
wb.save(filename)
else:
return '文件和sheet不能为空'
以上这篇python各种excel写入方式的速度对比就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持聚米学院。
python 写入excel 效率_python各种excel写入方式的速度对比相关推荐
- python 写入第二列_python读写Excel表格的实例代码(简单实用)
这篇文章主要介绍了python读写Excel表格的方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下.需要先安装两个库:pip install xlrd.pip ...
- python excel写入一列_python读取excel指定列数据并写入到新的excel方法
如下所示: #encoding=utf-8 import xlrd from xlwt import * #------------------读数据------------------------- ...
- python生成表格文件_python 读取excel文件生成sql文件实例详解
python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...
- 从零开始用python处理excel数据_Python对Excel的操作
Python几个读取Excel库的介绍: xlwings 可结合 VBA 实现对 Excel 编程,强大的数据输入分析能力,同时拥有丰富的接口,结合 pandas/numpy/matplotlib 轻 ...
- python读写excel表格_Python读写Excel表格(简单实用)
首先安装两个库:pip install xlrd.pip install xlwt! 1.python读excel--xlrd2.python写excel--xlwt 1.读excel数据,包括日期等 ...
- python给excel排序_Python实现EXCEL表格的排序功能示例
Python实现EXCEL表格的排序功能示例 EXCEL的数值排序功能还是挺强大的,升序.降序,尤其自定义排序,能够对多个字段进行排序工作. 那么,在Python大法中,有没有这样强大的排序功能呢?答 ...
- python上传excel文件_python读写Excel python实现Excel上传
最近小编在处理各种.xlsx表格的数据处理和计算的工作,目前python用于操作表格的模块有很多,功能各有千秋.本文主要讲的是xlwt用于写,xlrt用于读. 表格写入 简单的写入功能可用xlwt模块 ...
- python数字求和程序_python操作excel求和
这里介绍如何用python来自动完成我们的excel工作. 本文的目的是展示一些常见的Excel任务,以及如何在python pandas中执行类似的任务.例子微不足道,但重要的是通过这个例子来循序渐 ...
- python设置excel自动换行_python操作excel的方法(xlsxwriter包的使用)
本文介绍python操作excel的方法(xlsxwriter包的使用),具体内容如下 xlsxwriter包的安装 pip install xlsxwriter Workbook类 创建一个exce ...
- python读取表格数据_Python读取Excel数据并根据列名取值
一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...
最新文章
- 关于mac的一些常用操作记录
- python to_excel保存成xls_pd.ExcelWriter(to_excel)保存结果到已存在的excel文件中
- 2010世界杯主题曲夏奇拉献唱《Waka Waka》
- 在Linux中发现IP地址冲突的方法
- 深入理解CSS盒模型 - 程序猿的程 - 博客园
- 好文章,被架构师秒杀之后
- oracle11g创建表空间大文件,oracle11g创建表空间 sql语法
- (计算机组成原理题目题型总结)第一章:计算机系统概述
- mysql安装失败net_mysql安装后.net程序运行出错的解决方法
- java程序中单方法接口通常是,Android面试题1--Java基础之线程(持续更新)
- Java开发心得:HttpServletRequest基本功能
- repo一个新工程使用步骤
- c# asp.net 修改webconfig文件 配置
- 学习J2ME需要掌握的七种技术
- crmeb 一号通使用方法
- 准备好了吗?GNN 图神经网络 2021 年的5大应用热点
- mysql 获取当天0点 和 当天23点59分59秒
- 知道注册电子邮件的方法么?今天就告诉你邮箱申请免费注册的方法!
- 神奇的三门问题,到底换不换门
- 五大主流浏览器和内核
热门文章
- UIView延迟效果做出动画/UIView动画块
- ftp限制用户访问目录
- 基于netty,hessian的RPC框架
- how to send blogs to wordpress through the windows live writer
- 将excel文档转为word文档的方法
- [linux命令]基本命令
- 2019年初,我收到人生中的第一笔稿费
- python 判断点在随机多边形内_Python确定散点是否在多边形内,python,判断,内部
- SQLite数据库的使用——利用命令行或Navicat Premium创建数据库
- linux解压压缩命令