Openpyxl将非空单元格读取为无

时间:2019-10-18 07:58:57

标签: python excel openpyxl

我有一个.xlsx文件,可以在另一个Python脚本中进行编辑,该脚本将公式输入到单元格块中。当我使用Excel查看工作表时,可以很容易地看到由公式得出的值。当我尝试再次访问它时,无论是否data_only=True,尝试读取值时都会得到错误的结果。

使用以下代码(data_only=False):

wb = load_workbook(filename='Week of August 26, 2019.xlsx')
ws = wb['Weekly Stats']

for x in range(2,15):
    for y in range(38,41):
        print(ws.cell(row=y,column=x).value)

我最终得到了一长串公式:

...
=SUM(I3,I10,I17,I24,I31)
=SUM(I4,I11,I18,I25,I32)
=SUM(I5,I12,I19,I26,I33)
=SUM(I6,I13,I20,I27,I34)
...

如果我使用data_only=True运行它,那么我会得到一长串像这样的列表:

None
None
None
...

打开文件本身时,Excel不会显示给我什么。当我手动将公式输入到excel中时,我没有这个问题,但是如果我使用openpyxl输入公式,则openpyxl很难读取这些值。

在编辑Excel工作表和阅读Excel工作表时,我都尝试过使用data_only=True的不同组合。所有这些都会导致相同的结果。 Here is what the Excel sheet looks like (formula for one of the cells is in the top section).

非常感谢您的帮助!

编辑:我注意到了另一个类似的问题,但有一个类似的问题,但就我而言,我只是编辑一个现有文件,而不创建一个我想从中读取的新文件(另一个问题的建议答案。)

即使我正在阅读由openpyxl创建的工作簿,也可以通过任何方式“刷新”或评估我的公式,以便从中获取数据吗?该文件已保存,然后再次访问,所以我认为应该没有问题吗?

0 个答案:

没有答案