python公式从另一个工作表获取值与python有空间

Python不能接受带有空格的公式。

像这个“原始数据”表一样

sheet.write_merge(0, 0, 5, 8, xlwt.Formula('IF(Original Data!B4<>"",Original Data!B4,"")'), center) 

它会显示错误

如果我使用这个

 sheet.write_merge(0, 0, 5, 8, xlwt.Formula('IF('Original Data'!B4<>"",'Original Data'!B4,"")'), center) 

它也显示错误

如果我使用这个

 sheet.write_merge(0, 0, 5, 8, xlwt.Formula("IF('Original Data'!B4<>"",'Original Data'!B4,"")"), center) 

它也是错误的

有没有办法来运行公式? 我会尝试任何build议。 谢谢

您需要或者在string中使用引号,或者在外层使用三引号,如下所示:

 sheet.write_merge(0, 0, 5, 8, xlwt.Formula("""IF('Original Data'!B4<>"",'Original Data'!B4,"")"""), center) 

查看有关string,引号和转义的Python文档。

 sheet.write_merge(0, 0, 5, 8, xlwt.Formula('IF(Original Data!B4<>"",Original Data!B4,"")'), center) 

错误

 raise ExcelFormulaParser.FormulaParseException, "can't parse formula " + s FormulaParseException: can't parse formula IF(Original data!B3<>"";Original data!B3;"") 

下一个

 sheet.write_merge(0, 0, 5, 8, xlwt.Formula('IF('Original Data'!B4<>"",'Original Data'!B4,"")'), center) 

错误 在这里输入图像描述

下一个

 sheet.write_merge(0, 0, 5, 8, xlwt.Formula("IF('Original Data'!B4<>"",'Original Data'!B4,"")"), center) 

错误

 raise ExcelFormulaParser.FormulaParseException, "can't parse formula " + s FormulaParseException: can't parse formula IF('Original data'!B3<>;'Original data'!B3;)