Python杀死Excel?众多模块哪家强 您所在的位置:网站首页 matlab模块库在哪 Python杀死Excel?众多模块哪家强

Python杀死Excel?众多模块哪家强

2023-06-25 09:29| 来源: 网络整理| 查看: 265

大家可能可能会面临这个问题:

成堆的科学实验数据需要导入 Excel 进行分析

成堆的销售数据表格等待统计

成堆的商品数据等待分析

作为人生苦短的 Python 程序员,该如何优雅地操作 Excel?其实Python提供的操作Excel的库有7个之多,到底哪个更好使用更加方便呢?

首先让我们来整体把握下不同库的特点:

xlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件。官方文档:http://xlrd.readthedocs.io/en/latest/

xlwt是一个用于将数据和格式化信息写入旧Excel文件的库(如.xls)。官方文档:https://xlwt.readthedocs.io/en/latest/

xlutils是一个处理Excel文件的库,依赖于xlrd和xlwt。它仅支持.xls文件的操作。官方文档:http://xlutils.readthedocs.io/en/latest/

xlwings 简单强大,使用方便,可替代VBA。xlwings可以支持.xls读,支持.xlsx文件读写。官方文档:http://docs.xlwings.org/en/stable/index.html

XlsxWriter 是一个用来写 .xlsx 文件格式的模块,但不能用来读取和修改 Excel 文件。官方文档:https://xlsxwriter.readthedocs.io/

openpyxl是一个用于读取和编写Excel 2010 xlsx/xlsm/xltx/xltm文件的库。官方文档:https://openpyxl.readthedocs.io/en/stable/

pandas是一个进行数据处理和分析的强大模块,有时也可以用来自动化处理Excel,官方文档:http://pandas.pydata.org/

另外还有win32com,通过名字大家就知道离不开windows系统,该库存在于pywin32中,是一个读写和处理Excel文件的库。但是我的电脑是Mac,就不做展开了。

官方文档:http://pythonexcels.com/python-excel-mini-cookbook/

DataNitro呢?严格来说它是一个Excel 的插件,安装也需单独到官网下载。也是仅支持windows系统。

官方文档:https://datanitro.com/

具体内容大家也可以参看:http://www.python-excel.org

环境安装

安装

7个模块均为非标准库,因此都需要在命令行中 pip/pip3进行安装:

pip/pip3 install xlrd

pip/pip3 install xlwt

pip/pip3 install xlutils

pip/pip3 install xlwings

pip/pip3 install XlsxWriter

pip/pip3 install openpyxl

pip/pip3 install pandas

提示:

xlutils 仅支持 xls 文件,即2003以下版本;

xlwings 安装成功后,如果运行提示报错“ImportError: no module named win32api”,请再安装 pypiwin32 或者 pywin32 包;

模块导入

模块的导入跟以往导入其他模块一样,使用import进行导入,如果名字比较长还可以使用as起个别名。

import xlrd

import xlwt

import xlwings as xw

import xlsxwriter

import openpyxl

import pandas as pd

xlutils 模块是 xlrd和 xlwt之间的桥梁,最核心的作用是拷贝一份通过 xlrd 读取到内存中的 .xls 对象,然后再拷贝对象上通过 xlwt 修改 .xls 表格的内容。xlutils 可以将 xlrd 的 Book 对象复制转换为xlwt 的Workbook 对象。

具体使用时通常导入的是模块中的copy子模块:

import xlutils.copy

文档操作

由于设计模式的不同,导致基本的新建文件、修改文件、保存文件等功能在不同的库中存在着一定差异,比如xlsxwriter并不支持打开或修改现有文件,xlwings不支持对新建文件的命名等等,但是分析发现xlwings和openpyxl是对excel操作支持最多的两个库。

特别要说明一下xlutils库,xlrd、xlwt、xlutils 各自的功能都有局限性,但三者互为补充,覆盖了Excel文件尤其是 .xls 文件的操作。xlwt 可以生成 .xls 文件,xlrd 可以读取已经存在的 .xls文件,xlutils 连接 xlrd 和 xlwt 两个模块,使用户可以同时读写一个 .xls 文件。简单来说,xlrd负责读、xlwt 负责写、xlutils 负责提供辅助和衔接

性能对比

对几个库做了最基本的写入和读取测试,分别使用不同库进行添加及读取 5000行 * 800列 数据操作,得到所用时间,重复操作取平均值。另外在不同的电脑配置,不同的环境下结果肯定会有出入,数据仅供参考。

openpyxl虽然操作Excel的功能强大,但读写性能过于糟糕,尤其是写大表时,会占用大量内存,开启read_only和write_only模式后对其性能有大幅提升,尤其是对读的性能提升很大,使其几乎不耗时。

pandas把Excel当作数据读写的容器,为其强大的数据分析服务,因此读写性能表现中规中矩,但其对Excel文件兼容性是最好的,支持读写.xls,.xlsx文件,且支持只读表中单一工作页。

同样支持此功能的库还有xlrd,但xlrd只支持读,并不支持写,且性能不突出,需要配合xlutils进行Excel操作。

xlsxwriter功能单一,一般用来创建.xlsx文件,写入性能中庸。

综合考虑,xlwings的表现最佳,正如其名,xlwings——Make Excel Fly!

通过以上分析,相信大家对几个库都有了简单的了解。你可根据自己的需求和生产环境,选择合适的 Python-Excel 模块

附上一部分常用代码:

xlwings基本代码

import xlwings as xw #连接到excel workbook = xw.Book('你的excel文件的路径')#连接excel文件 #连接到指定单元格 data_range = workbook.sheets('Sheet1').range('A1') #写入数据 data_range.value = ['a','b','c'] #保存 workbook.save()

xlsxwriter基本代码

import xlsxwriter as xw #新建excel workbook = xw.Workbook('你的excel文件的路径') #新建工作薄 worksheet = workbook.add_worksheet() #写入数据 worksheet.wirte('A1','a') #关闭保存 workbook.close()

xlutils基本代码

import xlrd #读取数据 import xlwt #写入数据 import xlutils.copy #操作excel # 通过xlrd读取数据 #打开excel文件 workbook = xlrd.open_workbook('你的excel文件的路径') #获取表单 worksheet = workbook.sheet_by_index(0) #读取数据 data = worksheet.cell_value(0,0) # 通过xlwt写入数据 #新建excel wb = xlwt.Workbook() #添加工作薄 sh = wb.add_sheet('Sheet1') #写入数据 sh.write(0,0,'abc') #保存文件 wb.save('myexcel.xls') #打开excel文件 book = xlrd.open_workbook('你的excel文件的路径') #复制一份 new_book = copy(book) #拿到工作薄 worksheet = new_book.getsheet(0) #写入数据 worksheet.write(0,0,'mydata') #保存 new_book.save()

openpyxl基本代码

import openpyxl # 新建文件 workbook = openpyxl.Workbook() # 写入文件 sheet = workbook.activesheet['A1']='A1' # 保存文件 workbook.save('你的excel保存路径')

本文目的并不是要评出一个最好的库,仅是从不同角度对不同库进行对比,希望能够让大家了解各个库所擅长的工作。

只有充分了解不同工具的特点,才能够在不同的场景下灵活运用不同的方法来高效解决问题!

最后,给大家分享一份Python学习资料,都是我自己学习时整理的,希望可以帮到你!Python是一门非常不错的编程语言,就业前景好、薪资待遇高。可以应用于爬虫、web前端开发、后端开发、数据分析、人工智能、自动化测试等领域。即使你不想出去上班,也可以利用Python在家做兼职赚钱(比如爬取客户需要的数据、量化交易、代写程序等)。 是不是非常不错呢?

资料包括:Python安装包+激活码、Python web开发、Python爬虫、Python数据分析、Python自动化测试、人工智能等学习教程。0基础小白也能听懂、看懂!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。 在这里插入图片描述 二、Python学习软件

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦! 在这里插入图片描述 三、Python入门学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~ 在这里插入图片描述 四、Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿! 在这里插入图片描述 五、Python小游戏源码 如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味! 在这里插入图片描述 六、其他 我还整理了很多的Python电子书,而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通我都整理成文档了。 在这里插入图片描述 在这里插入图片描述

七、资料领取 由于篇幅有限,很多资料图片放不上来。需要的小伙伴可以微信扫描下方CSDN官方认证二维码领取(免费免费免费)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有