我已经编写了一个使用xlwt在Excel中生成报告的脚本。它通常工作得很好,但有时我会遇到这样的错误:
Traceback (most recent call last):
File "...\report.py", line 339, in <module>
pa.write_row([Formula('{0} - {1}'.format(my_data[i], rowcol_to_cell(marker_top, i+2))) for i in xrange(rng)], 2, rownum1-rownum2, style=pa_data2)
File "C:\Python27\lib\site-packages\xlwt\ExcelFormula.py", line 17, in __init__
self.__parser.formula()
File "C:\Python27\lib\site-packages\xlwt\ExcelFormulaParser.py", line 87, in formula
self.expr("V")
File "C:\Python27\lib\site-packages\xlwt\ExcelFormulaParser.py", line 94, in expr
self.prec0_expr(arg_type)
File "C:\Python27\lib\site-packages\xlwt\ExcelFormulaParser.py", line 139, in prec0_expr
self.prec1_expr(arg_type)
File "C:\Python27\lib\site-packages\xlwt\ExcelFormulaParser.py", line 157, in prec1_expr
self.prec2_expr(arg_type)
File "C:\Python27\lib\site-packages\xlwt\ExcelFormulaParser.py", line 187, in prec2_expr
self.prec3_expr(arg_type)
File "C:\Python27\lib\site-packages\xlwt\ExcelFormulaParser.py", line 216, in prec3_expr
self.prec4_expr(arg_type)
File "C:\Python27\lib\site-packages\xlwt\ExcelFormulaParser.py", line 234, in prec4_expr
self.prec5_expr(arg_type)
File "C:\Python27\lib\site-packages\xlwt\ExcelFormulaParser.py", line 257, in prec5_expr
self.primary(arg_type)
File "C:\Python27\lib\site-packages\xlwt\ExcelFormulaParser.py", line 492, in primary
raise Exception("[formula] found unexpected NAME token (%r)" % name_tok.txt)
AttributeError: 'CommonToken' object has no attribute 'txt'pa是我为了方便而创建的一个类的实例,它的方法只是常见xlwt操作的快捷方式。rowcol_to_cell是xlwt.Utils.rowcol_to_cell。
在本例中,正在编写的公式的格式为float - cell reference,而my_data是一个pandas.Series()。
正如我上面所说的,在99%的情况下,它工作得很好,但当它决定不工作时,只需重新启动我的电脑似乎就能修复它(这真的很烦人!)。有谁能解释一下这个问题吗?谢谢。
编辑:
刚刚重启了我的电脑,我仍然有这个问题。这意味着我不知道我过去是如何解决这个问题的。
发布于 2014-10-01 02:56:24
我在尝试添加VLOOKUP公式时遇到了类似的错误。这是我试图添加的公式中的一个错误。通过在excel表格中手动尝试,我找出了公式错误。修复了forumula之后,xlwt错误就消失了。
https://stackoverflow.com/questions/21608300
复制相似问题