0

我正在尝试通过构建字符串将公式写入一系列单元格。例如,如果 G 列中的相应单元格中包含单词“monkey”,我想在单元格中显示单词“true”。

for rowi in range(totalRows):
    thisRow = str(rowi)
    functionString = r'IF(ISNUMBER(SEARCH("monkey",G'+thisRow+')),("true")

这将产生字符串 "IF(ISNUMBER(SEARCH("monkey",G1)),("true")" - 如果我将它传递给 xlwt.Formula...

    ws.write(rowi+1, 0, xlwt.Formula(functionString))

我收到这个错误...

File "C:\Python27\Lib\site-packages\xlwt\ExcelFormula.py", line 22, in __init__
    raise ExcelFormulaParser.FormulaParseException, "can't parse formula " + s
xlwt.ExcelFormulaParser.FormulaParseException: can't parse formula IF(ISNUMBER(SEARCH("bitmap",G2)),("true")

是否可以将这种类型的功能与 xlwt 一起使用?

4

1 回答 1

0

忽略您输入的不可能,monkeyG1错误消息提到bitmapG2...

我建议您启动 Excel,选择一个单元格,键入=并粘贴您的公式……会发生什么?在公开之前始终建议进行此检查,即使您的互联网连接中断也可以使用。

笔记:

(1) 周围的括号"true"是多余 的

(2) 更简单:ISNUMBER(SEARCH("bitmap",G2))

(3) 您是否真的希望用户打开生成的 XLS 文件并在 G 列中输入文本?

于 2012-04-15T21:10:36.463 回答