python excel 微信_Python读写Excel文件第三方库汇总,你想要的都在这儿!,微信文件第三方打开...
Python读写Excel文件第三方库汇总,你想要的都在这儿!,微信文件第三方打开
---恢复内容开始---
常见库简介
xlrd
xlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件。
http://xlrd.readthedocs.io/en/latest/
1、xlrd支持.xls,.xlsx文件的读
2、通过设置on_demand变量使open_workbook()函数只加载那些需要的sheet,从而节省时间和内存(该方法对.xlsx文件无效)。
3、xlrd.Book对象有一个unload_sheet方法,它将从内存中卸载工作表,由工作表索引或工作表名称指定(该方法对.xlsx文件无效)
xlwt
xlwt是一个用于将数据和格式化信息写入旧Excel文件的库(如.xls)。
https://xlwt.readthedocs.io/en/latest/
1、xlwt支持.xls文件写。
xlutils
xlutils是一个处理Excel文件的库,依赖于xlrd和xlwt。
http://xlutils.readthedocs.io/en/latest/
1、xlutils支持.xls文件。
2、支持Excel操作。
xlwings
xlwings是一个可以实现从Excel调用Python,也可在python中调用Excel的库。
http://docs.xlwings.org/en/stable/index.html
1、xlwings支持.xls读,支持.xlsx文件读写。
2、支持Excel操作。
3、支持VBA。
4、强大的转换器可以处理大部分数据类型,包括在两个方向上的numpy array和pandas DataFrame。
openpyxl
openpyxl是一个用于读取和编写Excel 2010 xlsx/xlsm/xltx/xltm文件的库。小编整理一套Python资料和PDF,有需要Python学习资料可以加学习群:631441315 ,反正闲着也是闲着呢,不如学点东西啦~~
https://openpyxl.readthedocs.io/en/stable/
1、openpyxl支持.xlsx文件的读写。
2、支持Excel操作。
3、加载大.xlsx文件可以使用read_only模式。
4、写入大.xlsx文件可以使用write_only模式。
xlsxwriter
xlsxwriter是一个用于创建Excel .xlsx文件的库。
https://xlsxwriter.readthedocs.io/
1、xlswriter支持.xlsx文件的写。
2、支持VBA。
3、写入大.xlsx文件时使用内存优化模式。
win32com
win32com库存在于pywin32中,是一个读写和处理Excel文件的库。
http://pythonexcels.com/python-excel-mini-cookbook/
1、win32com支持.xls,.xlsx文件的读写,支持.xlsx文件的写。
2、支持Excel操作。
DataNitro
DataNitro是一个内嵌在Excel中的插件。
https://datanitro.com/docs/
1、DataNitro支持.xls,.xlsx文件的读写。
2、支持Excel操作。
3、支持VBA。
4、收费
pandas
pandas通过对Excel文件的读写实现数据输入输出
http://pandas.pydata.org/
1、pandas支持.xls,.xlsx文件的读写。
2、支持只加载每个表的单一工作页。
环境配置及可实现操作
注:DataNitro作为插件使用需依托软件本身。
参考:https://zhuanlan.zhihu.com/p/23998083
读写测试
测试计算机硬件和系统
电脑型号 微星 MS-7846 台式电脑
操作系统 Windows 7 旗舰版 64位 SP1 ( DirectX 11 )
处理器 英特尔 Pentium(奔腾) G3260 @ 3.30GHz 双核
主板 微星 H81M-P32L (MS-7846) ( 英特尔 Haswell - Lynx Point )
内存 4 GB ( 金士顿 DDR3 1600MHz )
主硬盘 西数 WDC WD5000AZLX-00ZR6A0 ( 500 GB / 7200 转/分 )
显卡 英特尔 Haswell Integrated Graphics Controller ( 256 MB / 微星 )
测试用例
用例1. 读.xls文件的整个表(表有5个分页,每个分页有2000行1200列的整数)。
用例2. 读.xlsx文件的整个表(表有5个分页,每个分页有2000行1200列的整数)。
用例3. 读.xls文件的整个表(表有1个分页,页有2000行1200列的整数)。
用例4. 读.xlsx文件的整个表(表有1个分页,页有2000行1200列的整数)。
用例5. 写.xls文件的整个表(表有5个分页,每个分页有2000行1200列的整数)。
用例6. 写.xlsx文件的整个表(表有5个分页,每个分页有2000行1200列的整数)。
用例7. 写.xls文件的整个表(表有1个分页,页有2000行1200列的整数)。
用例8. 写.xlsx文件的整个表(表有1个分页,页有2000行1200列的整数)。
测试结果
注1.xlwt和pandas每个工作页最多写入256列,因此测试用例修改为每页有2000行256列的整数.
注2.xlutils读写依赖于xlrd和xlwt,不单独测试。
注3.openpyxl测试两种模式,一是普通加载写入,二是read_only/write_only模式下的加载写入。
注4.DataNitro要收费,且需依托Excel使用,本次不测试。
读写性能比较
单从读写的性能上考虑,win32com的性能是最好的,xlwings其次。
openpyxl虽然操作Excel的功能强大,但读写性能过于糟糕,尤其是写大表时,会占用大量内存(把我的4G内存用完了),开启read_only和write_only模式后对其性能有大幅提升,尤其是对读的性能提升很大,使其几乎不耗时(0.01秒有点夸张,不过确实是加载上了)。pandas把Excel当作数据读写的容器,为其强大的数据分析服务,因此读写性能表现中规中矩,但其对Excel文件兼容性是最好的,支持读写.xls,.xlsx文件,且支持只读表中单一工作页。同样支持此功能的库还有xlrd,但xlrd只支持读,并不支持写,且性能不突出,需要配合xlutils进行Excel操作,并使用xlwt保存数据,而xlwt只能写入.xls文件(另一个可以写入.xls文件的库是pandas,且这两个写入的Excel文件最多只能有256列,其余库就我目前的了解均只能写入.xlsx文件),性能一般。xlsxwriter功能单一,一般用来创建.xlsx文件,写入性能中庸。win32com拥有最棒的读写性能,但该库存在于pywin32的库中,自身没有完善的文档,使用略吃力。xlwings拥有和win32com不相伯仲的读写性能,强大的转换器可以处理大部分数据类型,包括二维的numpy array和pandas DataFrame,可以轻松搞定数据分析的工作。
综合考虑,xlwings的表现最佳,正如其名,xlwings——Make Excel Fly!
便捷性比较
本测试目前只是针对Excel文件的读写,并未涉及Excel操作,单从读写的便捷性来讲,各库的表现难分上下,但是win32com和xlwings这两个库可以在程序运行时实时在打开的Excel文件中进行操作,实现过程的可视化,其次xlwings的数据结构转换器使其可以快速的为Excel文件添加二维数据结构而不需要在Excel文件中重定位数据的行和列,因此从读写的便捷性来比较,仍是xlwings胜出。
测试代码
计时
importtimeitif __name__ == '__main__':#使用timeit计时
t = timeit.Timer('??()', setup='from __main__ import ??')print(t.timeit(number=1))
xlrd
importxlrddeftest_xlrd_on_demand_false():#f = xlrd.open_workbook('test_cases\\read_xls.xls', on_demand=False)
f = xlrd.open_workbook('test_cases\\read_xlsx.xlsx', on_demand=False)deftest_xlrd_on_demand_true():#f = xlrd.open_workbook('test_cases\\read_xls.xls', on_demand=True)
f = xlrd.open_workbook('test_cases\\read_xlsx.xlsx', on_demand=True)
f.sheet_by_index(0)
xlwt
importxlwt
book=xlwt.Workbook()deftest_xlwt():for s in range(5):
sheet=book.add_sheet(str(s))for i in range(2000):for j in range(256):
sheet.write(i, j,65536)
book.save('test_cases\\write_xls.xls')
xlwings
importxlwingsdeftest_xlwings_read():#f = xlwings.Book('test_cases\\read_xls.xls')
f = xlwings.Book('test_cases\\read_xlsx.xlsx')importnumpy as np
f= xlwings.Book('')
d= np.zeros([2000, 1200])
d+= 65536
deftest_xlwings_write():for s in range(1):
sheet=f.sheets.add()
sheet.range('A1').value =d
f.save('test_cases\\write_xlsx.xlsx')
openpyxl
importopenpyxldeftest_openpyxl_read():
f= openpyxl.load_workbook('test_cases\\read_xlsx.xlsx', read_only=True)
c= [65536] * 1200f= openpyxl.Workbook(write_only=True)deftest_openpyxl_write():for i in range(1):
sheet= f.create_sheet(title=str(i))for row in range(2000):
sheet.append(c)
f.save('test_cases\\write_xlsx.xlsx')
xlsxwriter
importxlsxwriter
workbook= xlsxwriter.Workbook('test_cases\\write_xlsx.xlsx')deftest_xlsxwriter():for s in range(1):
worksheet=workbook.add_worksheet()for i in range(2000):for j in range(1200):
worksheet.write(i, j,65536)
workbook.close()
win32com
importwin32com.client as win32
excel= win32.gencache.EnsureDispatch('Excel.Application')deftest_win32com_read():#wb = excel.Workbooks.Open('E:\\excel\\test_cases\\read_xls.xls')
wb = excel.Workbooks.Open('E:\\excel\\test_cases\\read_xlsx.xlsx')#excel.Visible = True
wb=excel.Workbooks.Add()deftest_win32com_write():for i in range(1):
ws=wb.Worksheets.Add()
ws.Range("A1:ATD2000").Value = 65536wb.SaveAs('E:\\excel\\test_cases\\write_xlsx.xlsx')
excel.Application.Quit()
pandas
importpandas as pddeftest_pandas_read():for i in range(1, 6):
sheet_name= "Sheet" +str(i)#df = pd.read_excel('test_cases\\read_xls.xls', sheet_name)
df = pd.read_excel('test_cases\\read_xlsx.xlsx', sheet_name)importnumpy as np
d= np.zeros([2000, 255])
d+= 65536df=pd.DataFrame(d)#writer = pd.ExcelWriter('test_cases\\write_xls.xls')
writer = pd.ExcelWriter('test_cases\\write_xlsx.xlsx')deftest_pandas_write():
df.to_excel(writer,'Sheet1')
df.to_excel(writer,'Sheet2')
df.to_excel(writer,'Sheet3')
df.to_excel(writer,'Sheet4')
df.to_excel(writer,'Sheet5')
writer.save()
---恢复内容结束---
python excel 微信_Python读写Excel文件第三方库汇总,你想要的都在这儿!,微信文件第三方打开...相关推荐
- python读写excel表格_Python读写Excel表格(简单实用)
首先安装两个库:pip install xlrd.pip install xlwt! 1.python读excel--xlrd2.python写excel--xlwt 1.读excel数据,包括日期等 ...
- python读excel乱码_Python读写excel练习_去除excel中乱码行,并添加列
需求: 把app_student.xls里面的数据, 1.如果这一行数据里面有乱码(及包含?),那么就删掉 2.再加上一列,是否毕业 3.如果班级是天蝎座的话,毕业这一列写成毕业 4.其他班级的写成未 ...
- python处理office文件的第三方库_Python读写Excel文件第三方库汇总,你想要的都在这儿!...
Python Python开发 Python语言 Python读写Excel文件第三方库汇总,你想要的都在这儿! ---恢复内容开始--- 常见库简介 xlrd xlrd是一个从Excel文件读取数据 ...
- python导入excel文件-python使用xlrd模块读写Excel文件的方法
本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi ...
- Python使用openpyxl模块读写excel文件
Python使用openpyxl模块读写excel文件 openpyxl是一个用于写入和读取xlsx格式的excel文件的Python模块. excel2010后的后缀名为xlsx,不再是xls,使用 ...
- iOS 第三方库汇总(超全!!!!)
图像: 1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作. ...
- python中读写excel的扩展库_Python读写Excel文件第三方库汇总,你想要的都在这儿!...
常见库简介 xlrd xlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件. http://xlrd.readthedocs.io/en/latest/ 1.xlrd ...
- python写入excel公式有哪些库_Python读写Excel文件第三方库汇总,你想要的都在这儿!...
常见库简介 xlrd xlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件. http://xlrd.readthedocs.io/en/latest/ 1.xlrd ...
- python与excel常用的第三方库_Python读写Excel文件第三方库汇总
常见库简介 xlrd xlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件. http://xlrd.readthedocs.io/en/latest/ 1.xlrd ...
- python读取python源代码文件_python 读写excel文件操作示例【附源码下载】
本文实例讲述了python 读写excel文件操作.分享给大家供大家参考,具体如下: 对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等 ...
最新文章
- MySQL必知必会教程:深入理解MySQL技术内幕
- 矩阵存储 oracle表,二种矩阵存储方式汇总比较
- Kubernetes入门指南
- 《Reids 设计与实现》第十三章 Sentinel
- python中capital是什么意思_capital是什么意思_capital的翻译_音标_读音_用法_例句_爱词霸在线词典...
- 面向对象编程引入“人狗大战”小游戏
- 不一样的Office 365之 —— 使用Delve查看热门文档
- 使用电脑开发的,连个黑屏休眠都不会设置?
- 粒子群优化算法(PSO)
- Docker镜像使用详解
- N点虚拟主机管理系统 企业版稳定亲测
- 怎么删除win10 C盘Hiberfil.sys文件,Hiberfil.sys文件删了有没有事?
- php8网站,教你从零搭建php8环境
- 车道线识别(一) 简单识别
- java中jar包怎么下载
- 经典网络命令(搜集、概括)
- java dump文件分析
- 史上最完美的 Typora 教程
- 【报表开发】:BI---新视界---请休假个人报表
- tim工具包-task 定时任务调度中心 分布式可配置v1.3.0版本
热门文章
- 如何获取免费的数字货币历史数据
- 关于二进制的起源,莱布尼茨以及中国伏羲八卦图
- 鸿蒙os beta3.0怎么升级,鸿蒙系统 2.0 Beta3.0版本更新详解
- python写的平行四边形_实现一个平行四边形
- html5+开启摄像头,双摄像头时如何通过html5选择打开哪个摄像头_沃航科技
- 从2009到2020,世界编程语言排行榜分析
- linux wps只读模式怎么取消,wps只读模式解除的两种方法
- IBM Cloud Satellite在Tencent Cloud上的部署--Part1准备
- Period、Duration计算时间间隔
- 正则表达式高级用法: 分组