Рабочий лист row_dimensions выдает предупреждение, когда я помещаю в него целое число (чтобы индекс строки изменил высоту), хотя он работает (высота изменяется, и скрипт работает правильно).
МРЭ:
import openpyxl
from openpyxl.worksheet.worksheet import Worksheet
# Load an existing workbook or create a new one
wb = openpyxl.load_workbook('your_workbook.xlsx')
ws: Worksheet = wb.active
# Set the height of row 1 to 25
ws.row_dimensions[1].height = 25 <-- problem
# Save the changes back to the workbook
wb.save('your_workbook.xlsx')
Мне не разрешены такие предупреждения, и мне не разрешено добавлять #noqa.
Я использую Python 3.11.1 и последнюю версию openpyxl (3.1.2).
Последний раз файл реализации редактировался 9 лет назад, еще до того, как было создано репозиторий заглушек (и типизация стала общепринятой), так что это не конфликт версий, а просто ошибка.
@STerliakov Я думаю, что речь идет о заглушках , напечатанных .
@InSync, хах. Должно быть, я это проверил. Они в гораздо лучшей форме, но тип row_dimensions по-прежнему неправильный, DimensionHolder предназначен только для column_dimensions в реализации. Теперь определенно стоит тикет, потому что все остальное выглядит нормально, и поэтому это небольшая ошибка, а не «похоже, что это не должно работать в большинстве случаев», и ее можно тривиально исправить. Рассматриваемый код правильный и соответствует ожидаемому использованию.
@STerliakov Билет на веб-сайте openpyxl/на их github?
Как пояснил InSync выше, ни то, ни другое: этот пакет заглушек мертв и устарел, билет должен быть отправлен в раздел о проблемах typeshed на github - последние заглушки для openpyxl являются частью typeshed. row_dimensions var там аннотирован неправильно - должен быть какой-то словарь, а не DimensionHolder.






Это была typeshed ошибка. Проблема была создана, исправлена (не мной) и закрыта. https://github.com/python/typeshed/issues/11845.
Я не уверен, почему вообще существуют эти предупреждения:
openpyxlне набирается. Если вы используете заглушки, они выглядят не очень хорошо:row_dimensionsтам набирается какDimensionHolder, этот символ не импортируется, а реализация использует dict). Добавьте комментарий игнорирования и продолжайте, возможно, также сообщите об ошибке в openpyxl-stubs (ссылка на репозиторий выше)