上一节我们提到,使用openpyxl可以方便的对数据表进行操作,例如:抽象Excel数据并存入数据库
将数据库数据导出到Excel
给一个已存在的数据表追加信息
我们还介绍了一些Excel的基本术语,在自己本地安装了openpyxl库并用库在本地创建了简单的Excel文件。
本节的主要内容是使用openpyxl来读取Excel表,你将掌握阅读数据表的方法,阅读从简单到复杂的各种例子,并将他们转化成Python内更有用的数据类型。让我们开始这一最重要的操作吧!
本节所涉及的数据集:Dataset for openpyxl Tutorial – Real Pythonrealpython.com
本数据集来自亚马逊在线商品评论的真实数据,这只是Amazon商品的一小部分,但对于我们学习来说也足够了
请下载本数据集并存为“sample.xlsx”
简单阅读Excel表格的Python代码
在上面的代码中:首先用 load_workbook 方法打开了名为sample.xlsx的数据表,然后就可以使用workbook.sheetnames来查看所有你可用的sheet
workbook.active 方法选择了第一个可用的sheet
使用该方法是默认的打开电子表的方法,在该教程中你会看到很多次
打开数据表之后,我们可以很容易的检索数据表:
为了返回这个单元的具体数值,你需要使用.value,否则你得到的就会是这个对象。你也可以使用.cell() 通过指针符号检索数据,如下:
记住,要得到单元格的具体值而非单元格这个对象,就要使用.value来取值
你可以看到,不管你选用上述哪种方式定位单元格并取值,得到的结果相同。在本课程中,我们更多使用第一种:["A1"]来定位单元格
注意,即使你在Python中使用 0 索引表示法,但在数据表中,你需要使用 1 索引法,(也就是说在Python中索引从0开始,但使用openpyxl时索引从1开始)
上述讨论了打开数据表最快的方法。然而,你可以通过传递其他参数来改变数据表的加载方式。加载方式如下所示。
其他的加载选项