如何使用 Python 和 Selenium 获取工作表中的所有值?


我们可以使用 Selenium 获取工作表中的所有值。Excel 是一种电子表格,以 .xlsx 扩展名保存。一个 Excel 工作簿包含多个工作表,每个工作表都包含行和列。

在所有工作表中,当我们访问特定的工作表时,该工作表被称为活动工作表。工作表中的每个单元格都有一个唯一的地址,该地址是行号和列号的组合。

列号从字母字符 A 开始,行号从数字 1 开始。单元格可以包含多种类型的值,它们是工作表的主要组成部分。

要在 Python 中使用 Selenium 处理 Excel,我们需要借助 OpenPyXL 库。此库负责对 Excel 进行读写操作,处理 xlsx、xlsm、xltm、xltx 等扩展名。

要安装 OpenPyXL 库,我们必须执行命令 **pip install openpyxl**。这是因为 OpenPyXL 不是 Python 的默认库。之后,我们应该在代码中 **导入 openpyxl**,然后我们就可以开始与 Excel 交互了。

要获取工作表中的所有值,首先我们需要通过指定其所在路径来加载整个工作簿。这是通过 load_workbook() 方法实现的。接下来,我们需要使用 active 方法在所有工作表中识别活动工作表。

接下来,我们需要使用 max_row 方法,该方法返回已占用行的数量。请注意,此方法需要与工作表级对象一起使用。

并且我们需要使用 max_column 方法,该方法返回已占用列的数量。请注意,此方法需要与工作表级对象一起使用。

我们需要从 1 迭代到已占用最大行数,以遍历所有行。此外,我们需要从 1 迭代到已占用最大列数,以遍历所有列。

最后,要检索所有值,我们需要借助行号和列号以及 cell 方法(该方法接受行号和列号作为参数)。例如,要指向对应于第 2 行和第 3 列的单元格,我们需要写 sheet.cell(row=2,column=3)。

语法

wrkbk = load_workbook("C:\work\SeleniumPython.xlsx")
# to identify the active sheet
sh = wrkbk.active
# identify the number of occupied rows
sh.max_row
# identify the number of occupied rows
sh.max_column

示例

获取 Excel 中所有值的代码实现。

import openpyxl
# load excel with its path
wrkbk = load_workbook("C:\work\SeleniumPython.xlsx")
# to get the active work sheet
sh = wrkbk.active
# to print the maximum number of occupied rows in console
print(sh.max_row)
# to print the maximum number of occupied columns in console
print(sh.max_column)
# to get all the values from the excel and traverse through the rows
for r in range(1,max_row+1):
# to traverse through the columns
   for c in range(1,max_column+1):
# to get all the values
      print(sh.cell(row=r, column=c).value)

更新于: 2020-07-29

341 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告