【发布时间】:2015-08-24 15:46:26
【问题描述】:
生命体征:python 3.4.3 | openpyxl 2.2.3 | Excel 2013
众所周知,您可以使用 Excel 的填充句柄在列 [1,2,3,4,5,6 等] 下快速设置数字系列,这也适用于公式 [=sum(B1, C1)、=sum(B2,C2)、=sum(B3,C3) 等]。但是,当我尝试使用 openpyxl 来 nab 使用 Excel 中的填充句柄添加的公式时,这些单元格被报告为空。
它不适用于我的原始代码,因此我创建了一个包含以下内容的简单脚本:
for row in ws.rows:
for cell in row:
print('my value is:',cell.value)
然后针对这个很小的 (aww) Excel 文件运行它。我使用 A1 上的填充柄用公式填充 A2-A5。 (为了清楚起见,我只是显示公式,我在 A 列中实际看到的是结果。)
# A B C
1 =SUM(B1:C1) 1 2
2 =SUM(B2:C2) 10 20
3 =SUM(B3:C3) 20 25
4 =SUM(B4:C4) 90 42
5 =SUM(B5:C5) 64 4
这是控制台的输出:
my value is: =SUM(B1:C1)
my value is: 1
my value is: 2
my value is: =SUM(B2:C2)
my value is: 10
my value is: 20
my value is: =
my value is: 20
my value is: 25
my value is: =
my value is: 90
my value is: 42
my value is: =
my value is: 64
my value is: 4
openpyxl 读取 A1 和 A2 中的公式,但不读取 A3-A5。我针对几个简单的数字序列尝试了这个 sn-p 并且 openpyxl 在读取这些单元格时没有问题……问题似乎出在公式上。我错过了什么明显的东西吗?
【问题讨论】:
-
我遇到了同样的问题(只是最初的 =),而不是整个公式。 (虽然读取值是可以的)
-
酷豆子,我会试一试,看看能不能让它在 Python 3.4 上工作。