Python操作Excel 模块,你猜哪家强?

[数据分析实战]对比用Excel和Python用来做数据分析的优缺点,用Python的Pandas操作Excel数据表格原来如此简单?还不赶紧学起来? 老话说知己知彼才能百战不怠,我们先把两者的优缺点分析好,就会知道什么场景下该用Excel,什么场景下该用Python,如果不想看的小伙伴可以直接跳转到操作部分。 阅读详情

python操作excel的模块简直不要太多,

今天就为大家比较下各模块之间的优缺点。

  

xlutils & xlrd & xlwt   

最原始的莫过于两位老牌黄金搭档xlrd xlwt了,针对二者的封装有如下模块:

模块官网

xlutils

https://pypi.org/project/xlutils/

xlrd

https://pypi.org/project/xlrd/

xlwt

https://pypi.org/project/xlwt/

为什么把这三个一起说?
首先,xlutils封装了xlrd xlwt,所以在使用前,会先下载这两个依赖的模块。
其次,这两个模块主要用于处理xls文件,而对xlsx的文件处理很挫,甚至xlwt不支持…
但为何到现在依然在使用这些模块,因为他对xls文档处理的优势….

win32com & DataNitro

模块官网
win32comhttp://pythonexcels.com/python-excel-mini-cookbook/
DataNitrohttps://datanitro.com/

这两个模块又是怎么一回事儿?他俩仅支持windows系统环境
win32com这个模块大家不算陌生了,windows下的操作,哪儿他都能插一腿…至于使用,就点击链接自己看吧…
至于DataNitro,本来不想说的,但毕竟很多帖子都提到了它,我不写不太好,但大家知道他是一个Excel 的插件,安装也需单独到官网下载即可….

pandas

模块官网
pandashttps://www.pypandas.cn/

pandas作为数据分析利器,在处理excel方面也是犀利的一腿….

import  pandas  as pd
#方法一:默认读取第一个表单
df=pd.read_excel('lemon.xlsx')#这个会直接默认读取到这个Excel的第一个表单
data=df.head()#默认读取前5行的数据
print("获取到所有的值:\n{0}".format(data))#格式化输出

#方法二:通过指定表单名的方式来读取
df=pd.read_excel('lemon.xlsx',sheet_name='student')#可以通过sheet_name来指定读取的表单
data=df.head()#默认读取前5行的数据
print("获取到所有的值:\n{0}".format(data))#格式化输出

#方法三:通过表单索引来指定要访问的表单,0表示第一个表单
#也可以采用表单名和索引的双重方式来定位表单
#也可以同时定位多个表单,方式都罗列如下所示
df=pd.read_excel('lemon.xlsx',sheet_name=['python','student'])#可以通过表单名同时指定多个
# df=pd.read_excel('lemon.xlsx',sheet_name=0)#可以通过表单索引来指定读取的表单
# df=pd.read_excel('lemon.xlsx',sheet_name=['python',1])#可以混合的方式来指定
# df=pd.read_excel('lemon.xlsx',sheet_name=[1,2])#可以通过索引 同时指定多个
data=df.values#获取所有的数据,注意这里不能用head()方法哦~
print("获取到所有的值:\n{0}".format(data))#格式化输出

xlsxwriter

模块官网
xlsxwriterhttps://xlsxwriter.readthedocs.io/

xlsxwriter拥有丰富的特性,支持图片/表格/图表/筛选/格式/公式等,功能与openpyxl相似,优点是相比 openpyxl 还支持 VBA 文件导入,迷你图等功能,缺点是不能打开/修改已有文件,意味着使用 xlsxwriter 需要从零开始。
代码示例:

import xlsxwriter

# Create a workbook and add a worksheet.
workbook = xlsxwriter.Workbook('Expenses01.xlsx')
worksheet = workbook.add_worksheet()

# Some data we want to write to the worksheet.
expenses = (
    ['Rent', 1000],
    ['Gas',   100],
    ['Food',  300],
    ['Gym',    50],
)

# Start from the first cell. Rows and columns are zero indexed.
row = 0
col = 0

# Iterate over the data and write it out row by row.
for item, cost in (expenses):
    worksheet.write(row, col,     item)
    worksheet.write(row, col + 1, cost)
    row += 1

# Write a total using a formula.
worksheet.write(row, 0, 'Total')
worksheet.write(row, 1, '=SUM(B1:B4)')

workbook.close()

xlwings

模块官网
xlwingshttp://docs.xlwings.org/en/stable/

xlwings简单强大,使用方便。而且搞笑的是,这是为数不多的模块开发者,在平台卖课的,哈哈….

image.png
import xlwings as xw

#连接到excel
workbook = xw.Book(r'path/myexcel.xlsx')#连接excel文件
#连接到指定单元格
data_range = workbook.sheets('Sheet1').range('A1')
#写入数据
data_range.value = [1,2,3]
#保存
workbook.save()

openpyxl

模块官网
openpyxlhttps://openpyxl.readthedocs.io/en/latest/

最后要说说个人比较常用,也很方便的一个excel处理模块openpyxl….这个模块突出的优势在于,对excel单元格样式的设置方面特别详细。所以针对openpyxl,详细的介绍一下.

  • 写一个工作簿

>>> from openpyxl import Workbook
>>> from openpyxl.utils import get_column_letter
>>>
>>> wb = Workbook()
>>>
>>> dest_filename = 'empty_book.xlsx'
>>>
>>> ws1 = wb.active
>>> ws1.title = "range names"
>>>
>>> for row in range(1, 40):
...     ws1.append(range(600))
>>>
>>> ws2 = wb.create_sheet(title="Pi")
>>>
>>> ws2['F5'] = 3.14
>>>
>>> ws3 = wb.create_sheet(title="Data")
>>> for row in range(10, 20):
...     for col in range(27, 54):
...         _ = ws3.cell(column=col, row=row, value="{0}".format(get_column_letter(col)))
>>> print(ws3['AA10'].value)
AA
>>> wb.save(filename = dest_filename)
  • 读取现有工作簿

>>> from openpyxl import load_workbook
>>> wb = load_workbook(filename = 'empty_book.xlsx')
>>> sheet_ranges = wb['range names']
>>> print(sheet_ranges['D18'].value)
3
  • 插入图像 (需要依赖pillow..)

>>> from openpyxl import Workbook
>>> from openpyxl.drawing.image import Image
>>>
>>> wb = Workbook()
>>> ws = wb.active
>>> ws['A1'] = 'You should see three logos below'
>>> # create an image
>>> img = Image('logo.png')
>>> # add to worksheet and anchor next to cells
>>> ws.add_image(img, 'A1')
>>> wb.save('logo.xlsx')
  • 使用样式
    样式用于在屏幕上显示时更改数据的外观。它们还用于确定数字的格式。
    样式可以应用于以下方面:

  • 字体设置字体大小,颜色,下划线等

  • 填充以设置图案或颜色渐变

  • 边框设置单元格上的边框

  • 单元格排列

  • 保护

以下是默认值

>>> from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font
>>> font = Font(name='Calibri',
...                 size=11,
...                 bold=False,
...                 italic=False,
...                 vertAlign=None,
...                 underline='none',
...                 strike=False,
...                 color='FF000000')
>>> fill = PatternFill(fill_type=None,
...                 start_color='FFFFFFFF',
...                 end_color='FF000000')
>>> border = Border(left=Side(border_style=None,
...                           color='FF000000'),
...                 right=Side(border_style=None,
...                            color='FF000000'),
...                 top=Side(border_style=None,
...                          color='FF000000'),
...                 bottom=Side(border_style=None,
...                             color='FF000000'),
...                 diagonal=Side(border_style=None,
...                               color='FF000000'),
...                 diagonal_direction=0,
...                 outline=Side(border_style=None,
...                              color='FF000000'),
...                 vertical=Side(border_style=None,
...                               color='FF000000'),
...                 horizontal=Side(border_style=None,
...                                color='FF000000')
...                )
>>> alignment=Alignment(horizontal='general',
...                     vertical='bottom',
...                     text_rotation=0,
...                     wrap_text=False,
...                     shrink_to_fit=False,
...                     indent=0)
>>> number_format = 'General'
>>> protection = Protection(locked=True,
...                         hidden=False)
>>>

往期热门:

手把手教你,菜鸟也能用Python写一个2048游戏

奇葩的python量化交易策略,如何利用天气赚钱

隔壁的女神,老是对我笑?啥意思呢,我就用Python来分析一下

python xlrd xlwt pandas 模块 区别_Python-Excel 模块哪家强? 0. 前言从网页爬下来的大量数据需要清洗?成堆的科学实验数据需要导入 Excel 进行分析?有成堆的表格等待统计?作为人生苦短的 Python 程序员,该如何优雅地操作 Excel?得益于前人的辛勤劳作,Python 处理 Excel 已有很多现成的轮子,使用较多的有:xlwings提醒及注意:xlutils 仅支持 xls 文件,即2003以下版本;win32com 与 DataNitro 仅支... 阅读详情

相关推荐

Python操作Excel教程(图文教程,超详细)Python xlwings模块详解,_xlwings操作excel

作者简介」:优快云 top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者「推荐专栏」:小白零基础。

2401_87368884的博客 1971

Python中操作Excel最好用的模块是?

Python中的模块也称为库,在Python中操作Excel的模块有很多。 优缺点如下: 1、Pandas模块 Pandas是Python的一一个开源数据分析模块,可用于数据挖掘和数据分析,同时也提供数据清洗功能,可以说它是日前Python数据分析的必备工具之一。Pandas能够处理类似电子表格的数据,用于数据快速加载、操作、对齐、合并、数据预处理等。 Pandas通过对Excel文件的读写实现数据输入、输出,Pandas支持.xls和.xlsx格式文件的读写,支持只加载每个表的单一工作页。 2、xlwin

码猩的博客 6260

python操作Excel的几个库的对比与使用

xlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件。1、xlrd支持.xls,.xlsx文件的读2、通过设置on_demand变量使open_workbook()函数只加载那些需要的sheet,从而节省时间和内存(该方法对.xlsx文件无效)。3、xlrd.Book对象有一个unload_sheet方法,它将从内存中卸载工作表,由工作表索引或工作表名称指定(该方法对.xlsx文件无效)xlwt是一个用于将数据和格式化信息写入旧Excel文件的库(如.xls)。

longerqingqia22的博客 1541

python处理Excel常用模块:xlrd/xlwt/xlsxwriter/openpyxl/pandas/win32.com差异比较汇总以及常用使用方法

一、各模块优缺点比较 二、各模块常用使用方法 1、xlrd import xlrd #获取工作簿 wb=xlrd.open_workbook('文件绝对路径/相对路径') #获取全部工作表名 sheetnames=wb.sheet_names() #获取工作表内容 sheet_content1 = wb.sheet_by_name('Sheet1')#根据工作表名称获取 sheet_content2 = wb.sheet_by_index(0) #根据工作表索引获取,从下标0开始计数 sheet_c

u010924297的博客 2694

Python办公自动化之Excel做表自动化:全网最全,看这一篇就够了!python操作Excel教程

0.Python Excel库对比 1.Python xlrd 读取 操作Excel 2.Python xlwt 写入 操作Excel 3.Python xlutils 修改 操作Excel 4.Python xlwings 读取 写入 修改 操作Excel 5.Python openpyxl 读取 写入 修改 操作Excel 6.Python xlswriter 写入 操作Excel 7.Python win32com 读取 写入 修改 操作Excel 8.Python pandas 读取 写入 操作Ex

超级大洋葱的博客 5万+

kali虚拟机-----破解wifi密码(WiFi渗透)

文章目录一、将无线网卡挂载到 虚拟机上二、查看是否挂载成功三、查看网卡是否支持监听模式四、检查文件监听影响并杀死影响五、开启无线监听模式六、开始监听七、开始抓包(新建一个命令窗口)八、对已连接的终端进行攻击,使它掉线重连,以此来获取数据包。(新建一个命令窗口)九、开始解密 一、将无线网卡挂载到 虚拟机上 可能出现的问题:在可移动设备处无法连接无线网卡; 解决:在虚拟机设置中将usb控制器设置成如图所示。 注意要先关闭虚拟机在设置。 二、查看是否挂载成功 使用ifconfig命令查看 三、查看网卡是

weixin_46471800的博客 1万+

python操作excel_Python操作Excel模块,你猜哪家强?

导读:Python操作excel的模块简直不要太多,今天就为大家比较下各模块之间的优缺点。作者:王翔来源:清风Python(ID:BreezePython)01 xlutils & xlrd & xlwt最原始的莫过于两位老牌黄金搭档xlrd xlwt了,针对二者的封装有如下模块:xlutilshttps://pypi.org/project/xlutils/xlrdht...

weixin_39615808的博客 281

人工智能,不止于模型:四步实现完整工作流

工程师越来越多地致力于将人工智能 (AI) 集成到自己的项目和应用中,同时不断着力提升自己的 AI 技能。面对 AI 问题,工程师首先要了解什么是 AI,以及如何将它纳入当前工作流,这看似简单,实则未必容易。在 Google 中搜索“什么是 AI?”会得到数百万条结果,包括不同程度的技术和相关信息。那么,对工程师而言,AI 意味着什么?人们对 AI 的关注主要集中在 AI 模型上,受此影响,工程师会迅速投入 AI 建模的研究。

r1832644594的博客 2815

python操作excel_Python操作Excel 模块,你猜哪家强?

黑客技术点击右侧关注,了解黑客的世界!Java开发进阶点击右侧关注,掌握进阶之路!Python开发点击右侧关注,探讨技术话题!作者丨王翔来源丨清风Python(BreezePython)python操作excel的模块简直不要太多,今天就为大家比较下各模块之间的优缺点。 xlutils & xlrd & xlwt 最原始的莫过于两位老牌黄金搭档xlrd xlwt了,针...

weixin_39607873的博客 265

手把手教你用Microsoft AEC Challenge数据集训练自己的回声消除模型(附完整代码)

本文详细介绍了如何使用Microsoft AEC Challenge数据集训练专业的回声消除模型,包括环境准备、数据清洗、模型架构设计、训练流程和实际部署注意事项。通过完整的代码示例和实战指南,帮助开发者快速掌握AEC技术,提升语音通信系统的回声消除效果。

weixin_27697385的博客 458

MounRiver Studio实战:像管理个人项目一样整理沁恒MCU的EVT例程(附文件结构图)

本文详细介绍了如何使用MounRiver Studio重构沁恒MCU的EVT例程,实现工程化管理。通过分析官方EVT设计的局限性,提出标准化的目录结构和迁移步骤,帮助开发者提升代码可维护性和团队协作效率。文章还提供了MounRiver Studio的关键配置参数和常见问题排查指南,适用于沁恒MCU开发者。

weixin_33940469的博客 356

python自带的处理excel的模块_Python操作Excel模块,你猜哪家强?

导读:Python操作excel的模块简直不要太多,今天就为大家比较下各模块之间的优缺点。作者:王翔来源:清风Python(ID:BreezePython)01 xlutils & xlrd & xlwt最原始的莫过于两位老牌黄金搭档xlrd xlwt了,针对二者的封装有如下模块:xlutilshttps://pypi.org/project/xlutils/xlrdht...

weixin_34336068的博客 290

Valgrind 从入门到精通:内存调试和性能分析

Valgrind 提供了强大的 API,允许开发者编写自定义的检查工具。通过扩展 Valgrind,可以针对特定场景实现更精准的检测。

大模型大数据攻城狮的专栏 1217

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

由于设计模式的不同,导致基本的新建文件、修改文件、保存文件等功能在不同的库中存在着一定差异,比如xlsxwriter并不支持打开或修改现有文件,xlwings不支持对新建文件的命名等等,但是分析发现xlwings和openpyxl是对excel操作支持最多的两个库。xlwings 简单强大,使用方便,可替代VBA。pandas把Excel当作数据读写的容器,为其强大的数据分析服务,因此读写性能表现中规中矩,但其对Excel文件兼容性是最好的,支持读写.xls,.xlsx文件,且支持只读表中单一工作页。

Python宋宋的专栏 1万+

2026年1至9月武汉市房地产价格深度分析报告

本报告基于2026年1月至9月武汉市实际成交案例,从成交价格、区域分布、户型结构、价格走势等维度进行深度分析。数据来源包括武汉市住房保障和房屋管理局备案数据、主要中介机构成交记录及典型楼盘网签案例,覆盖全市15个行政区及主要功能板块。

王国平的博客 328

Unity最强动作战斗框架?Combat System Framework 深度解析

Combat System Framework 并不是一个简单的角色控制器,而是一套完整的动作游戏战斗开发框架。它借鉴了现代 AAA 游戏常见的架构思想,以 Gameplay Tag 为核心,结合 ScriptableObject 数据驱动设计,将技能、属性、Buff、伤害、武器、动画通知等系统有机整合在一起。同时,配套的可视化动画时间轴、Root Motion 工具和实时预览窗口,大幅优化了动作开发流程。当然,这套框架也有一定的学习门槛。

2403_88403568的博客 681

Python 操作 Excel 哪家强?

点击上方“涛哥聊Python”,选择“星标”公众号重磅干货,第一时间送达作者:王翔丨来源:码农升级python操作excel的模块简直不要太多,今天就为...

涛哥聊Python 685

【SpringBoot 3.x 第92节】Spring Modulith:构建模块化单体架构(基于 Spring Boot 3),一文带你搞透(超详细)!

🏆本文收录于《滚雪球学SpringBoot 3.x》,专门攻坚指数提升,本年度国内最系统+最专业+最详细(永久更新)。    该专栏致力打造最硬核 SpringBoot3 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。 如果想快速定位学习,可以看这篇【SpringBoot3教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。

**My Coding Family** 999

Python操作Excel教程(图文教程,超详细)Python xlwings模块详解,

xlwings 是用来「处理Excel」的Python第三方库,开源免费,一直在更新。 使用前需要「下载」、安装 xlwings 模块

wangyuxiang946的博客 3万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

python excel 模块 性能_Python-Excel 模块哪家强?

前言从网页爬下来的大量数据需要excel清洗成堆的科学实验数据需要导入excel进行分析作为一名面向逼格的Python程序员该如何合理而又优雅的选择生产力工具呢?得益于辛勤劳作的python大神们,处理excel已经有大量python包,主流代表有:xlutils:结合xlrd/xlwt,老牌python包,需要注意的是你必须同时安装这三个库面对形形色色的扩展包,有时候会感到困惑,到底哪个包才是最...

weixin_39989796的博客 130

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Python-Excel 模块哪家强

收回昨晚的说说 每个星期最喜欢的就是周五,不用学习无需考虑公众号该些什么内容。可以和朋友烧烤、啤酒加聊天。 温馨提示:今日中考结束,请各位朋友莫吃鸡、勿王者。向我们中老年选手一样玩玩Dota1这种中学生不会玩的游戏 以上这条是昨天和朋友high时,发的说说...结果打脸了,中小学生无处不在啊,**“朋友家中坐,二黑没赢过” **哈哈。 今天写点什么? 周五在公司,有一个朋友寒暄...

清风Python 624

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

python使用 pywin32 模块操作 excel,Python 操作 excel 系列之五

本篇博客是 Python 操作 excel 系列的第5篇,前4篇博客阅读地址如下所示: 2022 之Python操作 Excel,xlrd 与 xlwt 模块一文掌握 Python 操作 Excel,从 xlwings 模块开始 Python 操作 Excel 第3篇博客,python openpyxl 模块一文打通 python处理excel文件,python xlsxwriter 一文初掌握 本篇咱们要学习的模块是 pywin32,该模块主要封装了 Windows 系统的 Win32 API,

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 2万+
上一篇: 女朋友会 Python 是多么可怕的一件事!
下一篇: “菜鸟”程序员 VS “大神”程序员,我差点吓出了翔
菜鸟学Python
博客等级 码龄9年 8063粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值