OpenPyXL

OpenPyXL — это модуль для создания и работы с рабочими книгами xlsx/xlsm/xltx/xltm в памяти.

import openpyxl as opx
#Чтобы изменить существующую книгу, мы указали к ней путь
workbook = opx.load_workbook(workbook_path)



load_workbook() содержит параметр read_only. Установив значение True, он загрузит книгу в режиме read_only. Загружать книгу с этим параметром удобно при чтении больших файлов xlsx:

workbook = opx.load_workbook(workbook_path, read_only=True)



После того, как вы загрузили книгу в память, вы можете получить доступ к отдельным листам с помощью workbook.sheets

first_sheet = workbook.worksheets[0]



Если вы хотите указать имя доступных листов, вы можете использовать workbook.get_sheet_names().

sheet = workbook.get_sheet_by_name('Sheet Name')



Строки листа могут быть доступны с помощью команды sheet.rows. Чтобы перебрать строки на листе, используйте:

for row in sheet.rows:
print row[0].value



Поскольку каждая row в строках является списком cell (ячеек), нужно использовать команду Cell.value для получения содержимого ячейки.



Создание новой рабочей книги

# Вызов функции Workbook() создаёт новую книгу
wb = opx.Workbook()

# Затем мы можем создать новый лист в рабочей книге
ws = wb.create_sheet('Sheet Name', 0) #0 refers to the index of the sheet order in the wb



В openpyxl можно менять свойства вкладки, например tabColor:

ws.sheet_properties.tabColor = 'FFC0CB'



Чтобы сохранить созданную книгу, пишем:

wb.save('filename.xlsx')