读取和打印工作簿中工作表的内容 - openpyxl

1 人关注

我有一个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.read()

但它只打印和读取工作表的名称,如

Workbook <Sheet 1>

我知道我们可以迭代工作表的行,并读取每一行或每一个单元格的内容,但要为单元测试存储,然后用预期值断言,这就太复杂了。

我怎样才能简单地阅读整个工作表的内容。

python
excel
unit-testing
pytest
openpyxl
zsh_18
zsh_18
发布于 2021-11-30
1 个回答
Chris
Chris
发布于 2021-11-30
已采纳
0 人赞同

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

细胞有很多不同的方式,但我认为你在寻找的是 Worksheet 's values property:

按行产生工作表中的所有单元格值

类型:发电机

例如,你可以通过以下方式生成一个图元的列表

list(sheet.values)

对于一个包含以下内容的工作表