Python杀死Excel?众多模块哪家强 | 您所在的位置:网站首页 › matlab模块库在哪 › Python杀死Excel?众多模块哪家强 |
大家可能可能会面临这个问题: 成堆的科学实验数据需要导入 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常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦! 还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~ 光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿! 七、资料领取 由于篇幅有限,很多资料图片放不上来。需要的小伙伴可以微信扫描下方CSDN官方认证二维码领取(免费免费免费) |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |