PyLint, XLSXWriter Ошибка: нет значения для аргумента 'last_col' в вызове метода merge_range () - PullRequest
0 голосов
/ 11 мая 2018

Python pyLint жалуется на метод xlsxwriter worksheet.merge_range() с ошибкой:

"Нет значения для аргумента 'last_col' в вызове метода" и "Нет значения для аргумента" данные "в вызове метода"

Когда документация xlsxwriter приводит пример 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.

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Это ложное срабатывание Пилинта.

Метод 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.

0 голосов
/ 11 мая 2018

Единственным необязательным параметром, определенным в этом методе, является cell_format, поэтому PyLint говорит вам, что вы должны определить все остальные.

Чтобы исправить это, вы можете установить None надругие.

...