乐于分享
好东西不私藏

自动化操作Excel -- 读取 Excel 单个单元格的信息

自动化操作Excel -- 读取 Excel 单个单元格的信息
只要是和数据打交道的人,就避免不了接触 Excel。对于大量的重复性工作,靠人工往往会耗费大量的时间。借助 Python 编程,可以批量自动化完成这些操作,起到事半功倍的效果。
Pandas 模块,它能够方便快捷地处理 Excel 数据,但是对于 Excel 格式的设置,借助 openpyxl 模块是一个很好的选择。

读取 Excel 单个单元格的信息

“单元格”是 Excel 中存储信息的最小单元,本小节就为大家讲述如何获取单元格中的值,以及单元格的坐标信息(行坐标、列坐标、坐标)。
对于如图所示的工作簿,我们如何获取第一个单元格的值?对于存储“姓名”的单元格,它的坐标又是多少?

1. 获取单元格的值

在 openpyxl 模块中,有两种方法可用来帮助我们获取指定单元格对象。
  • wb["位置坐标"]:传入单元格的位置坐标(例 A1),定位指定单元格。
  • wb.cell(row=行数, column=列数):传入单元格的行数、列数,定位指定单元格。
其实使用上述方法,得到的只是一个单元格对象,并不能直接获取单元格中的值。此时调用单元格对象的 value 属性,才可以获取其中的具体值。
在交互式环境中输入如下命令:
from openpyxl import load_workbookwb = load_workbook("琼东西.xlsx")ws = wb.activecell = ws.cell(row=1, column=1)cell  # <Cell '广东'.A1>cell.value  # '姓名'
在获取工作表对象 ws 后,调用 cell() 方法并传入行数和列数(见 1),我们就返回了该单元格对象。接着,调用 values 属性,可以直接获取单元格中的具体值(见 2)。

小思考

如何利用 wb["位置坐标"] 这种方式获取单元格对象呢?

2. 获取单元格的坐标信息

单元格的坐标信息,指的是单元格的行坐标、列坐标和坐标,它们的用法如下。

  • cell.row:用于获取单元格的行坐标。
  • cell.column:用于获取单元格的列坐标。
  • cell.coordinate:用于获取单元格的坐标。
在交互式环境中输入如下命令:
cell.row  # 1cell.column  # 1cell.coordinate  # 'A1'
在获取单元格对象 cell 后,分别调用 row、column 和 coordinate 属性(见 1 ~ 3),可以帮助我们获取这个单元格的行坐标、列坐标和坐标。