我有一个.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创建的工作簿,也可以通过任何方式“刷新”或评估我的公式,以便从中获取数据吗?该文件已保存,然后再次访问,所以我认为应该没有问题吗?