OK,我们一起捋一捋,首先要新建或打开一个Excel文件,然后选择某个工作表,也就是上图中的sheet,最后读取或设置单元格的值。与此相对应的,在openpyxl中,有三个概念:Workbooks,Sheets,Cells。Workbook就是一个打开的excel文件,即excel工作簿;Sheet是工作簿中的一张表,即工作表;Cell就是一个简单的单元格。openpyxl就是围绕着这三个概念进行的,不管读写都是“三板斧”:打开Workbook,定位Sheet,操作Cell。OK,了解了基本概念,我们实际操作看看吧!
首先,openpyxl并不是Python 3预装的库,需要我们手动安装,很简单打开命令行窗口输入pip install openpyxl就可以了。如下图所示,我的已经安装好了,所以输出信息可能和大家的会不一样。
安装好openpyxl后,通过import语句导入,再通过执行help方法,看看openpyxl库中包含哪些东西,不需要认识,有个印象就行。
里面有一些单词还是很熟悉的吧,比如cell单元格、chart图表、styles样式、workbook工作簿、worksheet工作表,除了用help方法,还可以使用dir方法来查看一个库的所有成员,我把我们一会儿可能会用到的一些已经标红了,大家在学习的过程中可以重点关注下。
下面给出操作Excel文件的一般步骤:
1、打开或者创建一个Excel:需要创建一个workbook对象,其中打开一个Excel所采用的是load_workbook方法,而创建一个Excel则直接通过实例化类workbook来完成。
2、获取一个工作表:需要先创建一个workbook对象,然后使用该对象的方法来得到一个worksheet对象。
3、如果要获取表中的数据,需要先得到一个worksheet对象,再从中获取代表单元格的Cell对象。
OK,我们在Python中实际操作看看吧,操作的对象是2018年度海南考试录入公务员的职位表,如下图所示。
下面给出一些基本操作示例,大家可照着写一下。
再秀一下操作,一下子读取指定行列的单元格,用到了iter_rows方法,表示在参数指定范围内按行迭代,如果想要按列迭代的话可以使用iter_cols方法。
上面的代码展示了如何操作一个已有的Excel文件,下面再看一下新建一个Excel的例子。
生成的Excel文件如下图所示: