从 Excel 读取/写入数据


我们可以在 Python 中的 Selenium Webdriver 中读取和写入 Excel 工作表中的数据。Excel 工作簿由多个工作表组成,每个工作表由单元格和列组成。

要在 Python 中使用 Excel(扩展名为 .xlsx、.xlsm 等),我们必须利用 OpenPyXL 库。要安装这个包,我们必须运行以下命令 -

pip install openpyxl.

另外,我们必须在代码中添加语句 import openpyxl 。

导入 Openpyxl

要打开 Excel 工作簿,方法是 load_workbook 并将 excel 文件的路径作为参数传递给该方法。为了识别活动工作表,我们必须在工作簿对象上使用 active 方法。

要读取单元格,方法单元格将应用到活动工作表上,并将行号和列号作为参数传递给此方法。然后,将 value 方法应用于特定单元格以读取其中的值。

让我们读取名为 Data.xlsx 的 Excel 工作簿中第三行第二列的值为 D 的值,如下所示 -

数据.xlsx

代码实现

Python中从Excel读取/写入数据到Selenium Webdriver的代码实现如下:

import openpyxl
#configure workbook path
b = openpyxl.load_workbook("C:\\Data.xlsx")
#get active sheet
sht = b.active
#get cell address within active sheet
cl = sht.cell (row = 3, column = 2)
#read value with cell
print("Reading value from row-3, col-2: ")
print (cl.value)

输出

输出

要写入单元格,方法单元格将应用到活动工作表上,并将行号和列号作为参数传递给此方法。然后,将值方法应用于特定单元格以在其上写入。最后,使用save方法保存工作簿,将要保存的文件的路径作为参数传递给该方法。

我们将采用 Excel 名称 testdata.xlsx 并将其保存在项目内的数据文件夹中。我们将在第三行第七列写入值 - Selenium Python。

文本数据 Xlsx

代码实现

在 Selenium Webdriver 中处理工作簿的代码实现如下 -

from selenium import webdriver
import openpyxl
#load workbook
b= openpyxl.load_workbook('../data/testdata.xlsx')
#get active worksheet
sh = b.active
# write value in third row, 8th column
sh.cell(row=3, column=8).value = "Selenium Python"
#save workbook
b.save("../data/testdata.xlsx")
#identify cell
cl = sh.cell(row=3, column=8)
#read cell value
print("Reading value from row-3, col-8: ")
print(cl.value)

输出

Selenium Webdriver 中的工作簿

输出显示消息 - Process with exit code 0 表示上述 Python 代码执行成功。此外,值 - Selenium Python 已成功写入地址 - 行 3 和列 - 8 的单元格上。