xlwt无法解析公式中的IF语句

时间:2012-04-15 18:43:58

标签: python xlwt

我正在尝试通过构建字符串来为一系列单元格编写公式。例如,如果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?

一起使用

1 个答案:

答案 0 :(得分:0)

忽略您在monkeyG1中输入的不可能性,而错误消息提及bitmapG2 ...

我建议你启动Excel,选择一个单元格,输入=并粘贴你的公式......会发生什么?这种检查在上市之前总是可取的,即使您的互联网连接中断也可以使用。

注意:

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

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

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