![Python辅助Word+Excel:让办公更高效](https://wfqqreader-1252317822.image.myqcloud.com/cover/378/47217378/b_47217378.jpg)
001 批量创建空白的Excel文件
此案例主要通过在for循环中调用openpyxl. Workbook()方法和Workbook的save()方法,从而实现根据不同的文件名称在指定目录中批量创建多个空白的Excel文件。当运行此案例的Python代码(A001.py文件)之后,将自动在当前目录(MyCode\A001)中创建7个空白的Excel文件,效果分别如图001-1和图001-2所示。
A001.py文件的Python代码如下:
#导入openpyxl库 import openpyxl #设置分公司名称列表(myNames) myNames=['北京分公司','上海分公司','深圳分公司','西安分公司', '沈阳分公司','重庆分公司','武汉分公司'] #循环列表(myNames)的分公司名称(myName) for myName in myNames: #根据分公司名称(myName)设置Excel文件的名称 myPath='结果表-'+myName+'2020年度利润表.xlsx' #新建空白工作簿(myBook) myBook=openpyxl.Workbook() #根据参数(myPath)保存空白工作簿(myBook),即创建(保存)多个空白的Excel文件 myBook.save(myPath)
在上面这段代码中,import openpyxl表示导入操作Excel的openpyxl库。在Python代码中使用openpyxl库时,必须首先在工程中添加openpyxl库。在PyCharm集成开发环境中创建Python工程、编写代码及添加openpyxl库的步骤如下。
(1)启动(运行)PyCharm,弹出图001-3所示的工程创建对话框。
![](https://epubservercos.yuewen.com/BE3576/26581535601340506/epubprivate/OEBPS/Images/Figure-P17_1814.jpg?sign=1739249809-uhk5OYNOV07oLLgETye4PJn4EmPjzPrW-0-9ff39b3575a485b9f8bdd2551c2c2b86)
图001-1
![](https://epubservercos.yuewen.com/BE3576/26581535601340506/epubprivate/OEBPS/Images/Figure-P17_1817.jpg?sign=1739249809-sXohBlB386WFeo6Wfpi6epJhWcW4FGUB-0-e82b3c01e55dc542a2ef78f9e197a4ba)
图001-2
(2)在图001-3所示的对话框中单击Create New Project按钮,然后在弹出的对话框(New Project)的Location文本框中输入工程位置,如“F:\MyCode”,如图001-4所示,再单击Create按钮,PyCharm即在指定位置新建工程MyCode。
![](https://epubservercos.yuewen.com/BE3576/26581535601340506/epubprivate/OEBPS/Images/Figure-P18_1823.jpg?sign=1739249809-FdpNXVZXXMSu4tyG4fKXu3Jw7a5Ecum1-0-6689c10b13d31098445c9ff09c2283d0)
图001-3
![](https://epubservercos.yuewen.com/BE3576/26581535601340506/epubprivate/OEBPS/Images/Figure-P18_1826.jpg?sign=1739249809-9BpV1nB14dGj6g4DVeR1phDr6wktegG5-0-c37c5414a718cfa2b6e61b090e85b060)
图001-4
(3)在PyCharm中右击左侧Project下的工程名称MyCode,在弹出的菜单中执行New→Directory命令,如图001-5所示,则将弹出New Directory对话框,然后在该对话框的输入框中输入目录名称A001,按下Enter键,即完成在MyCode工程下新建A001目录。
(4)在PyCharm中右击Project下MyCode→A001目录,在弹出的菜单中执行New→Python File命令,如图001-6所示,则将弹出New Python file对话框,然后在该对话框的输入框中输入Python文件名称A001,如图001-7所示,再按下Enter键,即完成在MyCode\A001目录下新建A001.py文件。
(5)此时在A001.py文件中输入import openpyxl代码,PyCharm将自动检测到一个错误(No module named openpyxl),如图001-8所示,因此必须在工程中添加openpyxl库。
![](https://epubservercos.yuewen.com/BE3576/26581535601340506/epubprivate/OEBPS/Images/Figure-P19_1832.jpg?sign=1739249809-QpVDhw5gozUxVb9Ug2ZZXUrDWuezwhdP-0-1631e52cc7bb69ff156e2e4292659c44)
图001-5
![](https://epubservercos.yuewen.com/BE3576/26581535601340506/epubprivate/OEBPS/Images/Figure-P19_1835.jpg?sign=1739249809-BxbjAvLFwEJfWKZuU71T1cfFGH9ytunf-0-ebebb33d801baa62d00fdffb1d723b54)
图001-6
(6)首先在PyCharm左侧的Project中选择工程名称MyCode,再执行File→Settings命令,即弹出Settings对话框。在Settings对话框左侧执行Project:MyCode→Project Interpreter命令,如图001-9所示,然后单击右侧的“+”按钮,即弹出Available Packages对话框。
![](https://epubservercos.yuewen.com/BE3576/26581535601340506/epubprivate/OEBPS/Images/Figure-P20_1841.jpg?sign=1739249809-5p6nEOI6CXWld2iJovD0ZI6DTaBoyVgv-0-29378b334bb63f2b36e9b52cb7f83721)
图001-7
![](https://epubservercos.yuewen.com/BE3576/26581535601340506/epubprivate/OEBPS/Images/Figure-P20_1844.jpg?sign=1739249809-mSRBZbOWsZzwdrOdxTiGnpZB087JtKPQ-0-4598160f13751ea0aa7d4631932ce836)
图001-8
![](https://epubservercos.yuewen.com/BE3576/26581535601340506/epubprivate/OEBPS/Images/Figure-P20_1847.jpg?sign=1739249809-w32J9Oa5U3H8sbS2jXRMwPAEJM3t2Jv3-0-3fb950f8d80c69399ad7c22c246c940a)
图001-9
(7)在Available Packages对话框的“搜索”文本框中输入openpyxl,然后在下面的列表中选择openpyxl,则将在右侧区域中显示openpyxl的相关信息(注意:必须保持网络畅通),如图001-10所示。然后单击Install Package按钮,即执行在线安装openpyxl库(包)。在安装openpyxl库(包)成功之后则提示Package'openpyxl'installed successfully,如图001-11所示。此时依次关闭Available Packages对话框和Settings对话框,返回到A001.py文件的编辑对话框,则不会出现错误(No module named openpyxl)。当在右侧的编辑区域将A001.py文件的Python代码编写完成之后,即可在左侧Project下右击执行MyCode→A001→A001.py命令,再在弹出的菜单中选择Run'A001'命令,如图001-1所示,此时将运行A001.py文件的Python代码,执行结果是在A001目录中批量生成7个Excel文件,如图001-2所示。当然也可以在cmd窗口中以命令行(python A001.py)风格实现相同的功能:即在执行python A001.py命令之前,使用dir命令不会在目录中显示7个Excel文件(因为不存在),当执行python A001.py命令之后,使用dir命令则在目录中显示7个Excel文件(因为刚刚创建),如图001-12所示。
![](https://epubservercos.yuewen.com/BE3576/26581535601340506/epubprivate/OEBPS/Images/Figure-P21_1853.jpg?sign=1739249809-57OuYFFH0bMADzD9yctuLM60p9S8DNpM-0-411a4a59ac9df8dabb9d921b9effe8c1)
图001-10
![](https://epubservercos.yuewen.com/BE3576/26581535601340506/epubprivate/OEBPS/Images/Figure-P21_1856.jpg?sign=1739249809-AqucA0LSS7iM3tfKeXISVfmMoQSh1Jww-0-1597c21a8d2fcc925cdc16fb6d3d069e)
图001-11
![](https://epubservercos.yuewen.com/BE3576/26581535601340506/epubprivate/OEBPS/Images/Figure-P22_1861.jpg?sign=1739249809-mMYTBWpO0kM9KbTwl23JfNto6liLUNQY-0-c0683ffbae45e740fd4de70b08280b22)
图001-12
当在MyCode工程中成功添加openpyxl库之后,即可在MyCode工程的任何目录中添加Python文件,并在这些Python文件中任意调用openpyxl库的对象和方法执行Excel的相关操作。因此,本书中Python实战Excel的其他案例,不再罗列前述操作。关于如何安装PyCharm和Python 3.8解释器,请参考PyCharm安装教程(https://www.runoob.com/w3cnote/pycharm-windows-install.html)。此外,阅读和使用本书案例要求读者具备一定的Python语言编程基础和操作Excel的基本常识,关于Python语法基础可以参考Python基础语法教程(https://www.runoob.com/python/python-basic-syntax.html)。
需要说明的是:本书关于Python实战Excel的部分案例可能涉及较多的知识点,由于篇幅限制,这些知识点未在某个案例中集中介绍,而是分散在多个案例中,因此在单个案例中,只需要明白该案例强调的知识点即可;为了便于查找检索,本书有关Python实战Excel的案例按照工作簿、工作表、行、列、单元格、图表的顺序编写,由于相关知识本身有一定的交叉性和关联性,因此在阅读和使用时,如果遇到问题和困难可以在目录中查阅相关问题的介绍(因为有的知识点在前面的案例中必须使用,但它编排在后面的案例中)。
此案例的源文件是MyCode\A001\A001.py。