读取并打印工作簿中sheet的内容——openpyxl

Read and print the content of sheet in a workbook - openpyxl

我有一个 excel 文件,我在 openpyxl 中打开并清理了它并关闭了工作簿,示例代码如下:


#filename is the name of the excel file used 
wb = load_workbook(filename)
sheet = wb.active

#I did some cleaning on the sheet.
#I closed the workbook

wb.close()

作为此函数单元测试的一部分,我想阅读此工作簿sheet的内容,以便为单元测试编写断言语句。

我尝试阅读:


sheet.read()

但它只打印和读取 sheet 名称,如


Workbook <Sheet 1>

我知道我们可以遍历 sheet 的行并读取每一行或单元格的内容,但是对于单元测试来说存储起来太复杂了,然后用预期值断言它。

我怎样才能简单地阅读 sheet 的全部内容。

谢谢

Excel 文件很棘手。在什么基础上应将两个单元格值视为相等?如果它们包含相同的值,但其中一个是粗体怎么办?或者如果它们具有相同的公式,但计算值不同?

细胞可以有多种不同方式,但我认为您正在寻找 Worksheet's values 属性:

Produces all cell values in the worksheet, by row

Type: generator

例如,您可以通过

生成一个元组列表
list(sheet.values)

对于包含

的工作表
A B C
1 A1 B1 C1
2 A2 B2 C2
3 A3 B3 C3
4 =SUM(1, 2, 3)

这产生

[('A1', 'B1', 'C1'),
 ('A2', 'B2', 'C2'),
 ('A3', 'B3', 'C3'),
 ('=SUM(1, 2, 3)', None, None)]