Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

3 Июль 2022, 17:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Здесь можно поблагодарить участников форума Улыбка
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: « 1 2 3 »   Вниз
  Печать  
Автор Тема: Функции для работы с диапазонами как множеством ячеек  (Прочитано 3324 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eeigor
Опытный пользователь
***
Offline Offline

Пол: Мужской
Сообщений: 1 108


« Ответ #62248: 20 Апрель 2022, 21:50 »

2) ячейки располагаются в порядке следования диапазонов, а не в порядке их расположения на листе.
Попытался отсортировать диапазоны по столбцу и строке одновременно (by upper-left cell) в Python.
Просто однако. Но как это сделать в Basic?

Код:
from collections import namedtuple
from operator import itemgetter, attrgetter

RangeAddress = namedtuple('RangeAddress', 'Sheet StartColumn StartRow EndColumn EndRow')
addr0 = RangeAddress(Sheet=0, StartColumn=1, StartRow=3, EndColumn=2, EndRow=6)
addr1 = RangeAddress(0, 3, 3, 3, 5)
addr2 = RangeAddress(0, 4, 4, 4, 4)
addr3 = RangeAddress(0, 4, 21, 4, 21)
addr4 = RangeAddress(0, 5, 19, 5, 19)
addr5 = RangeAddress(0, 5, 24, 5, 24)

RangeAddresses = [addr0, addr1, addr2, addr3, addr4, addr5]
# RangeAddresses_sorted = sorted(RangeAddresses, key=lambda addr: addr.StartColumn)
# RangeAddresses_sorted = sorted(RangeAddresses, key=lambda addr: addr.StartRow)  # breaks the sorting by column

RangeAddresses_sorted = sorted(RangeAddresses, key=itemgetter(1, 2))
print(RangeAddresses_sorted)
# It's easier to read.
RangeAddresses_sorted = sorted(RangeAddresses, key=attrgetter('StartColumn', 'StartRow'))
print(RangeAddresses_sorted)


Регистр символов (стиль) наименований LO-свойств был сохранён.
« Последнее редактирование: 21 Апрель 2022, 20:33 от eeigor » Записан

Ubuntu 18.04 LTS • LibreOffice 7.3.2.2 Community
Страниц: « 1 2 3 »   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!