【发布时间】:2020-07-31 18:56:14
【问题描述】:
我有一个电子表格,其中的单元格包含不带公式的文本、带有公式的单元格以及格式为 datetime 的单元格。我需要阅读所有这三种情况的实际值。
将 Python 3 与 Openpyxl 3.0.3 结合使用。
目前,我有以下代码。使用data_only=True,正如其他关于此类问题的SO帖子所建议的那样。
workbook = load_workbook(r"path\to\my\spreadsheet.xlsx", data_only=True)
# select first available sheet
sheet = workbook.active
sheet.title
for value in sheet.iter_rows(min_row=2,
max_row=86,
min_col=1,
max_col=7,
values_only=True):
print(value)
结果输出的 sn-p 如下所示。在此示例中,第一列很好。第三列是日期格式的,但我需要单元格的实际值(因此它们将是 26/1/2020 和 27/1/2020)。第五和第六列有公式,但我需要实际值。
(2, None, datetime.datetime(2020, 1, 26, 0, 0), None, '=SUM(D$3:D4)', '=E4/E3', None)
(3, None, datetime.datetime(2020, 1, 27, 0, 0), None, '=SUM(D$3:D5)', '=E5/E4', None)
【问题讨论】: