PyLint, XLSXWriter Error: No value for argument 'last_col' in method call merge_range()

PyLint, XLSXWriter Error: No value for argument 'last_col' in method call merge_range()

Python pyLint 抱怨 xlsxwriter 的 worksheet.merge_range() 方法有错误:

"No value for argument 'last_col' in method call" and "No value for argument 'data' in method call"

xlsxwriter's documentation举例worksheet.merge_range('B3:D4', 'Merged Cells', merge_format)。附方法详情:

merge_range(first_row, first_col, last_row, last_col, data[, cell_format])

这是导致此问题的我的代码。

worksheet.merge_range('C1:E1', 'DATE', format4)

这个问题有任何解决方法或修复方法吗?我使用的是 xlsxwiter 版本:
>>> print(xlsxwriter.__version__) 0.9.6

和python版本:
Python 3.4.4 (v3.4.4:737efcadf5a6, Dec 20 2015, 20:20:57) [MSC v.1600 64 bit (AMD64)] on win32.

提前致谢

此方法中定义的唯一可选参数是 cell_format,因此,PyLint 告诉您必须定义所有其他参数。

要解决此问题,您可以将 None 设置为其他。

这是 Pylint 的误报。

merge_range() 方法有一个装饰器,允许使用 A1(row, col) 表示法。来自代码:

@convert_range_args
def merge_range(self, first_row, first_col, last_row, last_col,
                data, cell_format=None):

您使用的装饰器版本:

worksheet.merge_range('C1:E1', 'DATE', format4)

等同于:

worksheet.merge_range(0, 2, 0, 4, 'DATE', format4)

Pylint 错误地将第二个方法签名的规则应用于装饰器调用。虽然公平地说,可能没有办法确定它是否有效。

所以要么使用 (row, col) 语法,要么忽略警告。另请参阅 XlsxWriter 文档中的 Working with Cell Notation