python操作Excel

Python通过安装一些“软件”模块能够处理Excel文件,Excel文件是我们平时工作比不可少的,有了Python我们就可以批量处理Excel文件啦。

Excel是必备的办公软件,而要成为Excel高手,以往通常会被要求学习VBA,而现在VBA已经不推荐学习了,Python基本可以代替VBA来操作Excel、Word、PPT等,所以Python也是值得一学的办公利器哦~

安装xlwt、xlrd库

Mac电脑输入命令

Windows电脑输入

新建一个Excel文件

首先我们要知道工作簿workbook和工作表worksheet的区别,整个Excel文件可以称为一个工作簿(workbook),而每个工作簿可以有很多张工作表(worksheet),每个工作簿至少要有一个工作表。

使用VS Code新建一个lesson8文件夹,并在里面新建一个python文件比如lesson8.py,把下面的代码输入到文件里之后执行。

执行完之后,我们可以在lesson8的文件夹里看到一个名叫工作计划的Excel工作簿,打开之后里面内容虽然是空的(因为我们并没有往里面写内容),但是工作簿有四张工作表,分别为第一周、第二周、第三周、第四周。

新建一个带有内容的Excel文件

要想给Excel文件添加内容,首先我们要理解Excel单元格的知识,我们可以把Excel单元格看成是一个x轴向右,y轴向下的坐标,从0开始计数,也就是0表示1,这是程序普遍计数法。

  • (0,0)表示第一行,第一列;
  • (1,0)表示第二行,第一列;
  • (0,1)表示第一行,第二列;

用label=””来给单元格赋值,这样我们就可以使用Python精确地给Excel每个单元格填充内容了。

使用VS Code新建一个lesson8文件夹,并在里面新建一个python文件比如lesson8-1.py,把下面的代码输入到文件里之后执行。

执行完之后,我们可以在lesson8的文件夹里看到工作计划2.xls文件,使用Excel打开,我们可以看到一张工作计划的表格啦。

Excel公式与函数

Excel强大的地方不只是做表格,更在于它里面有很多公式和函数,而这些都是可以使用Python来操作的。要给Excel输入公式可以使用Formula(“”)函数。

使用VS Code新建一个lesson8文件夹,并在里面新建一个python文件比如lesson8-2.py,把下面的代码输入到文件里之后执行。

这段Python代码其实包含着大量的Excel公式与函数的信息,如果你对Excel公式或函数有一定的了解,那你就会明白Python的强大之处啦。如果你不了解,说明你Excel的水平还处于较低的层次,欢迎参加HackWork技术工坊的Excel数据分析以提升水平。代码大家可以根据自己Excel的水平研究一下。

获取Excel文件的信息

增删改查CURD(或CRUD),即增加Create、读取查询Retrieve(Read)、更新Update、删除Delete是数据库的基本操作,我们在操作Excel时也不例外,前面我们已经介绍了增Create,那怎么读取Excel文件呢?

使用VS Code新建一个lesson8文件夹,并在里面新建一个python文件比如lesson8-3.py,把下面的代码输入到文件里之后执行。

执行上面的代码,我们可以获取到Excel的基础信息,我们可以把工作计划2.xls,换成我们之前建好的工作计划.xls以及单元格公式.xls来了解了Excel文件信息的函数。

获取Excel指定行列的内容

光只了解工作表的名称,工作表和工作表的行与列的数量显然不能满足我们操作Excel的需求,我们还需要获取的是每个单元格里的具体数据。

Python的xlrd既可以打印一整行或一整列的数据,也可以打印根据坐标轴交叉确定的单元格里的数据。

使用VS Code新建一个lesson8文件夹,并在里面新建一个python文件比如lesson8-4.py,把下面的代码输入到文件里之后执行。

拓展学习

Python能不能控制Excel文件的排版和格式呢?答案是可以的,这里就不多做介绍啦,感兴趣的朋友可以参与我们的线上学习用Python高效办公

通常知名咨询公司都会要求学习VBA来对Office办公软件进行编程,不过VBA逐渐会被Python取代。Python更加简单易学,而且功能比VBA更加强大。

xlwt以及xlrd库python操作Excel的库还有openpyxl、xlsxwriter、xlrd、xlwt、xlutils、pandas等等,Python有着非常完善的数据生态,我们可以使用Python爬虫爬取网页数据,然后把数据写入到Excel,或者读取Excel的数据生成图表等,有了这些库,我们就可以不必学VBA,学Python就可以啦。

技术文档:Python操作Excel英文技术文档