Вернуться




Python Excel: примеры реализации и подробные инструкции к ним



Перед тем как рассказать, как при помощи Python сделать запись в Excel и что такое выгрузка в Excel, хотелось бы коротко остановиться на теории.

Python — это современный язык программирования, который в целом оптимизирован к работе с огромными массивами данных. Это как раз и позволяет ему ускорять работу больших и нагруженных таблиц Excel более чем в 10 раз и делать то, что сама по себе таблица не может, — проводить углубленный анализ данных и автоматизировать сложные вещи.

Что такое таблица Excel вы, скорее всего, знаете, потому что везде, где нужна эффективная работа с таблицами и диаграммами, используют Microsoft Excel.

Устанавливаем Python на компьютер

Логично же, что для того, чтобы Python делал запись в Excel, нужно, чтобы была сама таблица (что, скорее всего, уже есть, так как наличием Офиса на современном ПК никого не удивишь), и нужно, чтобы был установлен сам язык для разработки Python.

Для начала нужно найти сайт anaconda.com, так как вам очень понадобится их продукт «Анаконда», который уже состоит из необходимых элементов:

  • язык программирования «Питон»;
  • и необходимые архивы для работы в Эксель — Pandas, Xlwings, NumPy и др.

Итак, вы зашли на веб-страницу и там скачали актуальный инсталлятор для вашего «железа». Желательно выбирать архив с Python не ниже 3-й версии, потому что все, что ниже, теряет актуальность, устаревает и практически не пользуется спросом в современных продуктах.

Итак, скачали инсталлятор, запустили и установили его. Процедура настолько простая, что объяснять подробно просто нет смысла. Ведь если вы готовы делать на Python выгрузки в Excel, то с установкой Anaconda точно справитесь.

Теперь давайте проверим, установлен ли Питон на вашем ПК. Для этого нужно:

  1. Запустить Anaconda Prompt (терминал в среде Анаконда);
  2. Прописать там простую команду «python»;
  3. Если все сделано верно, то у вас должна высветиться установившаяся версия Python.

Как выбрать IDE для написания кода

Для тех, кто не знает, IDE — это программа разработчиков, где собственно происходит создание кода на выбранном языке. В принципе, код возможно писать и в самом простейшем текстовом редакторе, однако это не очень удобно. IDEшки имеют ряд профессиональных преимуществ, которые делают их обязательными.

Специально для Python придумано множество таких программ. Также есть множество программ для разных языков программирования, куда включен и наш. Возможно, у вас уже есть любимая IDE. Если не утруждать себя выбором, то можно остановиться на тех, которые уже есть внутри самой Anaconda. Это небезызвестный в узких кругах Jupyter Notebook или Spyder. И та, и та IDE спокойно поможет делать запись или выгрузку в Excel. Они обе обладают нужным набором инструментов для успешной и быстрой разработки (подсвечивание синтаксиса, работа автозаполнения и автозавершения, удобные при осуществлении отладки кода и т.д.). Выбор за вами.

Дополнения Python, требующиеся для выгрузки данных в Excel

Осуществлять импорт/экспорт информации между Python и Excel нам помогут два пакета: Xlwings и Pandas. Как вы помните, они уже входят в состав нашей Анаконды, поэтому опциональных манипуляций, скачиваний и установок не потребуется.

Pandas — это основной инструмент, который дает возможность работать языку Python с таблицами Microsoft Excel (выгрузка данных, создание записи и т.д.).

Xlwings — это инструмент, который может позволить:

  • получать и сохранять данные из таблицы;
  • оформлять ячейки таблицы своими собственными стилями;
  • включать скрипты Питона прямо в файлах Эксель.

Делаем импорт Pandas и Xlwings

Чтобы это сделать, нужно пробежаться по следующим пунктам:

  1. Запускаем IDE, допустим, Spyder.
  2. Нужно очистить окно от кода, который прописан по умолчанию.
  3. Вставляем следующий код:

Import xlwings as xw

Import pandas as pd

 

print(xw.__version__)

print(pd.__version__)

 

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

Чтение и запись информации в Excel при помощи Python

Мы хотим научиться? Мы научились при помощи Python делать запись, а также делать выгрузку данных в Excel. Для этого нужны примеры. Создадим простейший пример:

  1. Создаем папку, где будет размещен наш проект.
  2. В этой папке создаем таблицу и сохраняем ее в .xlsx
  3. Вносим в нашу таблицу какие-то данные на 3 столбца (А, В, С) и 3-4 строки.
  4. Также в папку помещаем наш скрипт, который мы писали пару абзацев выше.

Как осуществляется выгрузка Python из Excel

Разберем простой пример. Допустим, мы хотим прочитать какую-то информацию из нашей таблицы Excel (или любой другой вашей, суть шагов остается та же) при помощи Python. Для этого нам нужно внести кое-какие корректировки в наш скрипт:

import xlwings as xw

import pandas as pd

 

wb = xw.Book('ваш файл.xlsx')

data_excel = wb.sheets['Имя листа с данными']

data_pd = data_excel.range('A1:C4').options(pd.DataFrame, header = 1, index = False).value # Создаем DataFrame

print(data_pd)

 

Сохраняем, и можно запускать наш скрипт. Коротко объясним новые строчки кода:

  • wb = xw.Book('ваш файл.xlsx') — создаем переменную wb, которая открывает Эксель файл под указанным именем;
  • data_excel = wb.sheets['Имя листа с данными'] создается переменная data_excel, и ей присваиваются данные переменной wb, открывая доступ к необходимому листу таблицы;
  • data_pd = data_excel.range('A1:C4').options(pd.DataFrame, header = 1, index = False).value считываем информацию из указанной области документа (А1:С4) и генерируем переменную Pandas DataFrame (pd.DataFrame).
  • print(data_pd) — просим вывести информацию из data_pd.

Если до сих пор все сделано на отлично, тогда в Консоли после запуска скрипта вы сможете наблюдать данные из вашего документа. Это простейший пример, как сделать выгрузку из Excel при помощи Python.

Запись информации из Python в Excel

Итак, считывать данные из таблицы мы уже умеем. Но как сделать запись?

К примеру, мы хотим добавить один столбик в нашу таблицу. Мы можем осуществить это путем ввода следующей команды, сделав запись в DataFrame data_pd:

data_pd['Имя столбца'] = [«Значение», «Значение», «Значение»]

 

Вроде получилось, однако нам нужно полученную информацию вписать назад в наш документ Excel. В этом вам поможет следующая строка в скрипте:

data_excel.range('A1').options(index = False).value = data_pd

 

Если посмотреть полностью на код, который у вас должен оказаться в скрипте, то это примерно следующее:

import xlwings as xw

import pandas as pd

 

wb=xw.Book('Ваш файл.xlsx')

data_excel = wb.sheets['Имя листа файла']

data_pd = data_excel.range('A1:C4').options(pd.DataFrame, header = 1, index = False).value

data_pd['Имя нового столбца'] = ['Значение','Значение','Значение']

data_excel.range('A1').options(index = False).value = data_pd

 

Когда все эти правки внесены, можете смело запускать скрипт. Потом просмотрите свою таблицу. Там должен появиться новый столбик уже с данными («Значение»).

Это простой пример, как можно использовать Python, чтобы сделать запись или корректировку таблицы Excel.



Если вам понравилась эта статья поделитесь ею с друзьями, тем самым вы помогаете нам развиваться и добавлять всё больше интересного и полезного контента!




Cхожие статьи





Делаем ботнет на Python

Делаем ботнет на Python

Мы создадим простого управляемого бота, который будет получать команды из л ...

21 Февраля 2021    Python

Путь к мастерству: создаём приложение-словарь на Python

Путь к мастерству: создаём приложение-словарь на Python

Хотите стать мастером в Python? Тогда изучайте язык на практике. В этом мат ...

21 Февраля 2021    Python

Что читать начинающему разработчику Python?

Что читать начинающему разработчику Python?

Многие начинающие программисты Python теряются в разнообразии литературы и ...

21 Февраля 2021    Python