pythonxlwt:求和函数最大参数限制?

2024-04-26 05:37:48 发布

您现在位置:Python中文网/ 问答频道 /正文

使用xlwt库生成excel文件时遇到此错误:

  File "/usr/local/lib/python2.7/dist-packages/xlwt/ExcelFormula.py", line 17, in __init__
    self.__parser.formula()
  File "/usr/local/lib/python2.7/dist-packages/xlwt/ExcelFormulaParser.py", line 81, in formula
    self.expr("V")
  File "/usr/local/lib/python2.7/dist-packages/xlwt/ExcelFormulaParser.py", line 88, in expr
    self.prec0_expr(arg_type)
  File "/usr/local/lib/python2.7/dist-packages/xlwt/ExcelFormulaParser.py", line 133, in prec0_expr
    self.prec1_expr(arg_type)
  File "/usr/local/lib/python2.7/dist-packages/xlwt/ExcelFormulaParser.py", line 151, in prec1_expr
    self.prec2_expr(arg_type)
  File "/usr/local/lib/python2.7/dist-packages/xlwt/ExcelFormulaParser.py", line 181, in prec2_expr
    self.prec3_expr(arg_type)
  File "/usr/local/lib/python2.7/dist-packages/xlwt/ExcelFormulaParser.py", line 210, in prec3_expr
    self.prec4_expr(arg_type)
  File "/usr/local/lib/python2.7/dist-packages/xlwt/ExcelFormulaParser.py", line 228, in prec4_expr
    self.prec5_expr(arg_type)
  File "/usr/local/lib/python2.7/dist-packages/xlwt/ExcelFormulaParser.py", line 251, in prec5_expr
    self.primary(arg_type)
  File "/usr/local/lib/python2.7/dist-packages/xlwt/ExcelFormulaParser.py", line 517, in primary
    raise Exception("%d parameters for function: %s" % (arg_count, func_tok.text))
Exception: 185 parameters for function: sum

xlwt上挖掘源代码,我可以看到sum函数有最多30个参数的硬限制。我想知道为什么有这样的限制?如果有什么影响,如果它会更大?在

我的xlwtexcel文件生成的实现使用sum,并且对于大量数据,它可以使用比30个更多的参数(因为它对文件的许多子部分求和)。在

此处设置限制:

xlwt/ExcelMagic.py

^{pr2}$

第三个数字(30)表示函数sum的最大参数。在

有没有人知道是否有某种变通办法,这样我可以在需要的时候使用任意数量的参数,或者因为某些原因它不好吗?在

当使用sum函数时,我可以直接在excel或{}上使用任意数量的参数(通过测试,至少没有达到这个限制,如果有的话)


Tags: inpyselflibpackagesusrlocaldist
1条回答
网友
1楼 · 发布于 2024-04-26 05:37:48

在Excel中,的参数仅仅是的函数。实际上,这是任何Excel函数的绝对最大值,而不仅仅是SUM。如果xlwt允许超过30个,那么根据Excel本身,它生成的工作簿将是无效的。在

{a2}显示了一些解决方法。在

请注意,30个参数的限制适用于旧版本的Excel。使用more recent version将限制增加到255。要生成更新的Excel工作簿,请使用XlsxWriter而不是xlwt。请参见this table比较Excel 2003(.xls)与2010(.xlsx)的限制。在

相关问题 更多 >