Python

Управление таблицами Excel с помощью Python

Управление таблицами Excel с помощью Python

Microsoft Excel - это программа для работы с электронными таблицами, которая используется для хранения и управления табличными данными. Кроме того, с помощью Excel можно выполнять вычисления, применяя формулы к данным, и можно создавать визуализации данных.Многие задачи, выполняемые в электронных таблицах, такие как математические операции, можно автоматизировать с помощью программирования, и многие языки программирования имеют модули для управления электронными таблицами Excel. В этом руководстве мы покажем вам, как использовать модуль Python openpyxl для чтения и изменения электронных таблиц Excel.

Установка openpyxl

Прежде чем вы сможете установить openpyxl, вы должны установить pip. Pip используется для установки пакетов Python. Выполните следующую команду в командной строке, чтобы узнать, установлен ли pip.

C: \ Users \ windows> справка по пипу

Если возвращается содержимое справки pip, значит, pip устанавливается; в противном случае перейдите по следующей ссылке и загрузите get-pip.py файл:

https: // бутстрап.Pypa.io / get-pip.ру

Теперь выполните следующую команду для установки pip:

C: \ Users \ windows> python get-pip.ру

После установки pip для установки openpyxl можно использовать следующую команду.

C: \ Users \ windows> pip установить openpyxl

Создание документа Excel

В этом разделе мы будем использовать модуль openpyxl для создания документа Excel. Сначала откройте командную строку, набрав «cmd» в строке поиска; затем введите

C: \ Users \ windows> питон

Чтобы создать книгу Excel, мы импортируем модуль openpyxl, а затем воспользуемся методом Workbook () для создания книги.

>>> # импорт модуля openpyxl
>>> импортировать openpyxl
>>> # Инициализация книги
>>> work_book = openpyxl.Рабочая тетрадь ()
>>> # сохранение книги как примера.xlsx '
>>> рабочая_книга.сохранить ('пример.xlsx ')

Приведенные выше команды создают документ Excel с именем example.xlsx. Далее мы будем работать с этим документом Excel.

Работа с листами в документе Excel

Мы создали документ Excel под названием example.xlsx. Теперь мы будем управлять листами этого документа с помощью Python. В модуле openpyxl есть метод create_sheet (), который можно использовать для создания нового листа. Этот метод принимает два аргумента: индекс и заголовок. Индекс определяет размещение листа с использованием любого неотрицательного целого числа (включая 0), а title - это заголовок листа. Список всех листов в объекте work_book можно отобразить, вызвав список имен листов.

>>> # импорт openpyxl
>>> импортировать openpyxl
>>> # загрузка существующего документа Excel в объект work_book
>>> work_book = openpyxl.load_workbook ('пример.xlsx ')
>>> # Создание нового листа с 0-м индексом
>>> рабочая_книга.create_sheet (индекс = 0, заголовок = 'Первый лист')

>>> # Получение всех листов
>>> рабочая_книга.имена листов
["Первый лист", "Лист"]
>>> # Сохранение документа Excel
>>> рабочая_книга.сохранить ('пример.xlsx ')

В приведенном выше коде мы создали лист с именем First Sheet и поместили его в 0-й индекс. Лист, ранее расположенный в 0-м индексе, был перемещен в 1-й индекс, как показано в выходных данных. Теперь мы собираемся изменить имя исходного листа с Листа на Второй лист.

Атрибут title содержит имя листа. Чтобы переименовать лист, мы должны сначала перейти к этому листу следующим образом.

>>> # Получение активного листа из документа Excel
>>> sheet = work_book.активный
>>> # Имя печатного листа
>>> печать (лист.заглавие)
Первый лист >>> # Переход ко второму листу (с индексом 1)
>>> рабочая_книга.активный = 1
>>> # Получение активного листа
>>> sheet = work_book.активный
>>> # Печать имени листа
>>> печать (лист.заглавие)
Лист >>> # Изменение заголовка листа
>>> лист.title = 'Второй лист'
>>> # Заголовок печатного листа
>>> печать (лист.заглавие)
Второй лист

Точно так же мы можем удалить лист из документа Excel. Модуль openpyxl предлагает метод remove () для удаления листа. Этот метод принимает имя удаляемого листа в качестве аргумента, а затем удаляет этот лист. Мы можем удалить второй лист следующим образом:

>>> # удаление листа по имени
>>> рабочая_книга.remove (work_book ['Второй лист'])
>>> # получаем все листы
>>> рабочая_книга.имена листов
["Первый лист"]
>>> # сохранение документа Excel
>>> рабочая_книга.сохранить ('пример.xlsx ')

Добавление данных в ячейки

До сих пор мы показали вам, как создавать или удалять листы в документе Excel. Теперь мы собираемся добавить данные в ячейки разных листов. В этом примере у нас есть один лист с именем First Sheet в нашем документе, и мы хотим создать еще два листа.

>>> # импорт openpyxl
>>> импортировать openpyxl
>>> # загрузка книги
>>> work_book = openpyxl.load_workbook ('пример.xlsx ')
>>> # Создание нового листа по 1-му индексу
>>> рабочая_книга.create_sheet (index = 1, title = 'Второй лист')

>>> # создание нового листа по 2-му индексу
>>> рабочая_книга.create_sheet (index = 2, title = 'Третий лист')

>>> # получаем все листы
>>> рабочая_книга.имена листов
[«Первый лист», «Второй лист», «Третий лист»]

Теперь у нас есть три листа, и мы добавим данные в ячейки этих листов.

>>> # Получение первого листа
>>> sheet_1 = work_book ['Первый лист']
>>> # Добавление данных в ячейку 'A1' первого листа
>>> sheet_1 ['A1'] = 'Имя'
>>> # Получение второго листа
>>> sheet_2 = work_book ['Второй лист']
>>> # Добавление данных в ячейку 'A1' второго листа
>>> sheet_2 ['A1'] = 'ID'
>>> # Получение третьего листа
>>> sheet_3 = work_book ['Третий лист']
>>> # Добавление данных в ячейку 'A1' третьего листа
>>> sheet_3 ['A1'] = 'Оценки'
>>> # Сохранение книги Excel
>>> рабочая_книга.сохранить ('пример.xlsx ')

Чтение таблиц Excel

Модуль openpyxl использует атрибут значения ячейки для хранения данных этой ячейки. Мы можем прочитать данные в ячейке, вызвав атрибут значения ячейки. Теперь у нас есть три листа, и каждый лист содержит некоторые данные. Мы можем прочитать данные, используя следующие функции в openpyxl:

>>> # импорт openpyxl
>>> импортировать openpyxl
>>> # загрузка книги
>>> work_book = openpyxl.load_workbook ('пример.xlsx ')
>>> # Получение первого листа
>>> sheet_1 = work_book ['Первый лист']
>>> # Получение второго листа
>>> sheet_2 = work_book ['Второй лист']
>>> # Получение третьего листа
>>> sheet_3 = work_book ['Третий лист']
>>> # печать данных из ячейки 'A1' первого листа
>>> print (sheet_1 ['A1'].значение)
Имя
>>> # печать данных из ячейки 'A1' второго листа
>>> print (sheet_2 ['A1'].значение)
Я БЫ
>>> # печать данных из ячейки 'A1' Третьего листа
>>> print (sheet_3 ['A1'].значение)
Оценки

Изменение шрифтов и цветов

Далее мы покажем вам, как изменить шрифт ячейки с помощью функции Font (). Сначала импортируйте openpyxl.объект стилей. Метод Font () принимает список аргументов, в том числе:

  • имя (строка): название шрифта
  • размер (int или float): размер шрифта
  • подчеркивание (строка): тип подчеркивания
  • цвет (строка): шестнадцатеричный цвет текста
  • курсив (bool): выделен ли шрифт курсивом
  • жирный (булево): выделен ли шрифт жирным шрифтом

Чтобы применить стили, мы должны сначала создать объект, передав все параметры методу Font (). Затем мы выбираем лист и внутри листа выбираем ячейку, к которой хотим применить стиль. Затем мы применяем стиль к выбранной ячейке.

>>> # импорт openpyxl
>>> импортировать openpyxl
>>> # импорт метода шрифта из openpyxl.стили
>>> из openpyxl.стили импорт шрифта
>>> # загрузка книги
>>> work_book = openpyxl.load_workbook ('пример.xlsx ')
>>> # Создание объекта стиля
>>> style = Font (name = 'Consolas', size = 13, bold = True,
… Курсив = ложь)
>>> # Выбор листа из книги
>>> sheet_1 = work_book ['Первый лист']
>>> # Выбираем ячейку, в которую хотим добавить стили
>>> a1 = sheet_1 ['A1']
>>> # Применение стилей к ячейке
>>> a1.font = style
>>> # Сохранение книги
>>> рабочая_книга.сохранить ('пример.xlsx ')

Применение границ к ячейкам

Мы можем применить границы к ячейкам на листе Excel, используя методы Border () и Side () openpyxl.стили.модуль границ. Мы можем передавать различные функции в качестве параметров методу Border (). Ниже приведены некоторые из функций, которые передаются в качестве параметров методу Border () для определения размеров границы.

  • оставил: применить границу к левой стороне ячейки
  • верно: применить границу к правой стороне ячейки
  • вершина: применить границу к верхней части ячейки
  • Нижний: применить границу к нижней части ячейки

Эти функции принимают атрибуты стиля как параметры. Атрибут style определяет стиль границы (e.грамм., сплошной, штриховой). Параметры стиля могут иметь любое из следующих значений.

  • двойной: двойная линия границы
  • пунктирная: пунктирная граница
  • тонкий: тонкая рамка
  • Средняя: средняя граница
  • mediumDashDot: штриховая и пунктирная граница средней плотности
  • толстый: толстая рамка
  • dashDot: пунктирная и пунктирная граница
  • волосы: очень тонкая граница
  • пунктирный: пунктирная граница

Теперь мы применим разные типы границ к разным ячейкам наших электронных таблиц. Сначала мы выбираем ячейки, а затем определяем стили границ и применяем эти стили к разным ячейкам.

>>> # импорт openpyxl
>>> импортировать openpyxl
>>> # импорт классов Border и Side
>>> из openpyxl.стили.границы импорт Граница, сторона
>>> # загрузка книги
>>> work_book = openpyxl.load_workbook ('пример.xlsx ')
>>> # Выбор листа
>>> sheet_1 = work_book ['Первый лист']
>>> # Выбор разных ячеек на листе
>>> cell_1 = sheet_1 ['A1']
>>> cell_2 = sheet_1 ['B2']
>>> cell_3 = sheet_1 ['C3']
>>> # Определение разных стилей границ
>>> style_1 = Border (bottom = Side (style = 'dotted'))
>>> style_2 = Граница (правая = Сторона (style = 'thin'))
>>> style_3 = Border (top = Side (style = 'dashDot'))
>>> # применение стилей границы к ячейкам
>>> cell_1.border = style_1
>>> ячейка_2.граница = стиль_2
>>> cell_3.border = style_3
>>> # Сохранение книги
>>> рабочая_книга.сохранить ('пример.xlsx ')

Регулировка размеров строки и столбца

Высоту строки и ширину столбца документа Excel также можно настроить с помощью Python. Модуль openpyxl имеет два встроенных метода, которые можно использовать для выполнения этих действий. Сначала мы выбираем лист, на котором хотим изменить ширину столбца или высоту строки. Затем мы применяем метод к определенной строке или столбцу.

>>> # импорт openpyxl
>>> импортировать openpyxl
>>> # загрузка книги
>>> work_book = openpyxl.load_workbook ('пример.xlsx ')
>>> # выбор листа
>>> sheet_1 = work_book ['Первый лист']
>>> # изменение высоты первой строки
>>> sheet_1.row_dimensions [1].высота = 50
>>> # Сохранение книги
>>> рабочая_книга.сохранить ('пример.xlsx ')

Точно так же мы можем изменить ширину столбца, используя следующий код

>>> # выбор листа из книги Excel
>>> sheet_2 = work_book ['Второй лист']
>>> # изменение ширины столбца A
>>> лист_2.column_dimensions ['A'].ширина = 50
>>> # Сохранение книги
>>> рабочая_книга.сохранить ('пример.xlsx ')

Приведенный выше код изменит высоту первой строки на 50 пунктов и ширину столбца A на 50 пунктов.

Слияние и разъединение ячеек

При работе с электронными таблицами Excel нам часто приходится объединять и разъединять ячейки. Для объединения ячеек в Python можно использовать простую функцию, основанную на openpyxl. Модуль openpyxl предлагает метод merge_cells (), который можно использовать для объединения ячеек в Excel. Новая ячейка примет имя верхней левой ячейки. Например, если мы хотим объединить ячейки из ячейки A1 в ячейку B2, тогда вновь сформированная ячейка будет называться A1. Чтобы объединить ячейки с помощью openpyxl, мы сначала выбираем лист, а затем применяем метод merge_cells () к листу.

>>> # импорт модуля openpyxl
>>> импортировать openpyxl
>>> # загрузка книги
>>> work_book = openpyxl.load_workbook ('пример.xlsx ')
>>> # выбор первого листа из книги Excel
>>> sheet_1 = work_book ['Первый лист']
>>> # объединение ячеек от A1 до B2 на листе 1
>>> sheet_1.merge_cells ('A1: B2')
>>> # сохранение книги
>>> рабочая_книга.сохранить ('пример.xlsx ')

Точно так же метод unmerge_cells () можно использовать для разделения ячеек в электронной таблице Excel. Для разделения ячеек можно использовать следующий код:

>>> # выбор листа из книги
>>> sheet_1 = work_book ['Первый лист']
>>> # отключение ячеек от A1 до B2
>>> sheet_1.unmerge_cells ('A1: B2')
>>> # сохранение книги
>>> рабочая_книга.сохранить ('пример.xlsx ')

Заключение

Таблицы Excel обычно используются для обработки данных. Однако такие задачи могут быть однообразными. Следовательно, в таких случаях можно использовать программирование для автоматизации операций с электронными таблицами.

В этой статье мы обсудили некоторые полезные функции модуля Python openpyxl. Мы показали вам, как создавать, читать, удалять и изменять электронные таблицы Excel, как изменять стиль, применять шрифт, границы и размеры ячеек, а также как объединять и разъединять ячейки. Применяя эти функции, вы можете автоматизировать многие задачи по работе с электронными таблицами с помощью Python.

Лучшие игры Oculus App Lab
Если вы владелец гарнитуры Oculus, вы должны знать о загрузке неопубликованных приложений. Боковая загрузка - это процесс установки на гарнитуру содер...
10 лучших игр для Ubuntu
Платформа Windows была одной из доминирующих платформ для игр из-за огромного процента игр, которые разрабатываются сегодня с встроенной поддержкой Wi...
5 лучших аркад для Linux
В настоящее время компьютеры - это серьезные машины, используемые для игр. Если вы не можете получить новый рекорд, вы поймете, о чем я. В этом посте ...