Сообщить об ошибке.

Функции преобразования ячеек модуля openpyxl в Python

Для более эффективной работы с ячейками, в модуле openpyxl доступна коллекция утилит openpyxl.utils.cell.

Содержание:


absolute_coordinate(coord_string):

Функция absolute_coordinate() преобразовывает координаты coord_string в строку абсолютных координат (B12 => $B$12)

>>> from openpyxl import Workbook
>>> from openpyxl.utils.cell import absolute_coordinate
>>> wb=Workbook()
>>> ws=wb.active
>>> absolute_coordinate('B12')
# '$B$12'

cols_from_range(range_string):

Функция cols_from_range() получает отдельные адреса для каждой ячейки в диапазоне range_string по столбцам.

Выдает одну строку за раз.

>>> from openpyxl import Workbook
>>> from openpyxl.utils.cell import cols_from_range
>>> wb=Workbook()
>>> ws=wb.active
>>> list(cols_from_range('B1:D2'))
# [('B1', 'B2'), ('C1', 'C2'), ('D1', 'D2')]

column_index_from_string(str_col):

Функция column_index_from_string() преобразовывает имя столбца str_col в числовой индекс (A => 1).

>>> from openpyxl import Workbook
>>> from openpyxl.utils.cell import column_index_from_string
>>> wb=Workbook()
>>> ws=wb.active
>>> column_index_from_string('B')
# 2

coordinate_from_string(coord_string):

Функция coordinate_from_string() преобразовывает строки координат coord_string стиля Excel, например B12, в кортеж ('B', 12).

>>> from openpyxl import Workbook
>>> from openpyxl.utils.cell import coordinate_from_string
>>> wb=Workbook()
>>> ws=wb.active
>>> coordinate_from_string('B12')
# ('B', 12)

coordinate_to_tuple(coordinate):

Функция coordinate_to_tuple() преобразовывает координаты coordinate стиля Excel в кортеж (row, colum).

>>> from openpyxl import Workbook
>>> from openpyxl.utils.cell import coordinate_to_tuple
>>> wb=Workbook()
>>> ws=wb.active
>>> coordinate_to_tuple('B12')
# (12, 2)

get_column_interval(start, end):

Функция get_column_interval() возвращает все столбцы в интервале, учитывая начальный столбец start и конечный end.

Начальный и конечный столбцы могут быть либо буквами столбца, либо индексами с отсчетом от 1.

>>> from openpyxl import Workbook
>>> from openpyxl.utils.cell import get_column_interval
>>> wb=Workbook()
>>> ws=wb.active
>>> get_column_interval('B', 'G')
# ['B', 'C', 'D', 'E', 'F', 'G']
>>> get_column_interval(15, 20)
# ['O', 'P', 'Q', 'R', 'S', 'T']

get_column_letter(idx):

Функция get_column_letter() преобразовывает индекс столбца idx в букву столбца (3 => C)

>>> from openpyxl import Workbook
>>> from openpyxl.utils.cell import get_column_letter
>>> wb=Workbook()
>>> ws=wb.active
>>> get_column_letter(12)
# 'L'

range_boundaries(range_string):

Функция range_boundaries() преобразовывает строки диапазона range_string в кортеж границ: (min_col, min_row, max_col, max_row)

Координаты ячейки будут преобразованы в диапазон с учетом ячеек на обоих концах.

>>> from openpyxl import Workbook
>>> from openpyxl.utils.cell import range_boundaries
>>> wb=Workbook()
>>> ws=wb.active
>>> range_boundaries('B1:E3')
# (2, 1, 5, 3)

range_to_tuple(range_string):

Функция range_boundaries() преобразовывает диапазон рабочего листа range_string в имя листа и максимальные и минимальные индексы координат.

>>> from openpyxl import Workbook
>>> from openpyxl.utils.cell import range_to_tuple
>>> wb=Workbook()
>>> ws=wb.active
>>> range_to_tuple('Sheet!B1:D3')
# ('Sheet', (2, 1, 4, 3))

rows_from_range(range_string):

Функция rows_from_range() получает отдельные адреса для каждой ячейки в диапазоне range_string по строкам.

Выдает одну строку за раз.

>>> from openpyxl import Workbook
>>> from openpyxl.utils.cell import rows_from_range
>>> wb=Workbook()
>>> ws=wb.active
>>> list(rows_from_range('B1:C3'))
# [('B1', 'C1'), ('B2', 'C2'), ('B3', 'C3')]