我在使用xlwt时遇到了解析错误.简单的公式就像SUM()工作正常,但我试图运行这个稍微复杂的公式,并收到以下错误.
xlwt.ExcelFormulaParser.FormulaParseException: can't parse formula =COUNTIFS(hospital_data!C1:C6500,LEFT(B1,4),hospital_data!D1:D65000,RIGHT(B1,1),hospital_data!F1:F65000,A3)
Run Code Online (Sandbox Code Playgroud)
这是我试图运行的代码.
hospital_count_formula = '=COUNTIFS(hospital_data!C1:C6500,LEFT({0},4),hospital_data!D1:D65000,RIGHT({0},1),hospital_data!F1:F65000,{1})'.format(quarter_ref, state_ref)
sheet_overview.write(row, column, Formula(hospital_count_formula))
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用定义的数值范围(A1:A5000)而不是(A:A),我也试过简单地将其作为字符串传递,但它不在Excel中进行评估.
复制并粘贴到Excel时,此公式可以正常工作.任何想法都将非常感激.
谢谢!
你有没有读过你在python-excel google-group上提出相同问题时得到的答案?
(1)失去=...与你的SUM()结果比较.
(2)XLS格式不支持COUNTIFSExcel 2007中引入的功能.
复制并粘贴到Excel时,此公式可以正常工作.
不,公式前面有一个=Excel ,因此Excel知道您的意思是公式而不是文本确实有效,使用Excel 2007或更高版本而您没有尝试另存为Excel 97-2003工作簿(*.xls),这不起作用.