{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

如何利用Python编程批量处理Excel,来提高日常工作效率?

lieepslieeps 回答2 收藏1
收藏问题

2条回答

warkiz

warkiz

回答于2022-06-22 18:39

思路与选择更重要

我看过许多人一看到别人提问"python处理excel"之类的话题,立马就说出一大堆的库,结果很多初学者苦苦地编写Python代码处理数据,最后他们都会感觉太坑爹了。


如果我在这里列出各种处理方法,那么成千上百的字数都不够看。我觉得你更应该了解思路与工具的选择,不然方向错了,你就算拿着再好用的工具也发挥不了作用。


Python 与 Excel 的交互

Python中有许多库可以与Excel交互,比如 xlrd、xlwings等等,但是我要强调的是,这些库仅仅让你方便地与Excel打交道,比如,读写数据、设置格式。


如果你的日常任务仅仅是简单设置格式,不需要对数据做复杂的计算和处理,那么这些库已经可以满足你的需求


数据处理才是核心

很多人已经会一些编程语言(比如 vba),转到python上处理excel,结果是把vba代码用python代码写一遍。诸如求平均、求和等各种从简单到复杂的处理,都依靠自己编写各种循环遍历,最后只能从入门到放弃。


上述原因主要是他们只关注如何与excel交互,而忽视了数据处理才是整个问题的关键点。而在python中数据处理的最重要的库pandas,就是你唯一的选择。


选择

因此你需要先评估你的日常处理任务,是否有非常多的处理环节是从excel开始的。

  • 比如,你的数据是直接从数据库中处理获取,你只需要编写代码把数据输出到excel,那么这显然不需要使用pandas(实际上使用pandas很可能比使用其他库来得简单)

  • 如果你需要使用python做各种处理,然后输出excel,那么你必须要学习pandas,不然你只是在低效率处理数据


为什么要用pandas?

pandas的一个最大的优势在于,大多时候你只需要告诉他做什么,就可以完成工作,而不需要你亲自编写如何遍历数据的代码。许多非常复杂的处理要求,使用pandas解决是轻而易举,并且有非常好的扩展性。


我不想列出代码去占用篇幅了。如果你有兴趣,可以参考我我们的文章,你会发现这些文章中的python解决方案,完全没有自己遍历数据的写法。以下是其中的一些文章:


最后我还是要提醒你,一定要根据自己的情况选择适当的工具,这些都是辅助你工作的工具,不要被工具限制了你的思路

评论0 赞同0
  •  加载中...
zhonghanwen

zhonghanwen

回答于2022-06-22 18:39

Python批量处理Excel的话,有许多现成的库可以直接使用,下面我简单介绍一下,感兴趣的朋友可以尝试一下:

01

xlrd、xlwt

这是Python 2个非常基础的Excel读写库,其中xlrd专门用于读取Excel,xlwt专门用于写入Excel,支持常见的行列、单元格操作,安装的话,直接在cmd窗口输入命令“pip intsall xlrd xlwt”即可,官方自带有非常详细的入门教程文档和API接口,非常适合开发者学习:

这里以简单的读取Excel为,测试代码如下,基本思想先打开Excel,获取工作表,然后根据所需直接读取对应行列和单元格内容即可,非常简单:

02

openpyxl

这是一个专门用于读取Excel的Python库,目前仅支持Excel 2010格式(xls不支持),操作单元格、行列,设置样式、插入图片等非常容易,安装的话,直接在cmd窗口输入命令“pip install openpyxl”即可,官方文档含有非常详细的代码示例和截图,非常适合初学者入门和学习:

测试代码如下,非常简单,以写入Excel为例,基本思想先创建一个Excel文件,然后获取工作表,最后再往对应单元格写入内容即可:

03

pandas

这是Python一个非常著名的数据处理库,在业界非常流行和受欢迎,内置了大量函数和数据类型,可以轻松处理Excel文件,并进行复杂的数据处理,代码量更少,功能也更强大,安装的话,直接在cmd窗口输入命令“pip install pandas”即可,官方自带有非常详细的入门教程,源码都可直接运行,非常适合开发者学习和使用:

这里以读写Excel为例,测试代码如下,非常简单,一行代码就可轻松获取或写入数据,功能非常强大,推荐使用:

目前,就介绍这3个非常不错的Python Excel处理库吧,对于日常办公工作来说,非常不错,只要你有一定Python基础,熟悉一下相关文档和示例,很快就能掌握的,网上也有相关教程和资料,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<