Top.Mail.Ru

Как можно использовать Python для Excel

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

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

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

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

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

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

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

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

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

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

  • 1. Запустите Anaconda Prompt (терминал в среде Анаконда);
  • Пропишите там простую команду «python»;
  • Если все сделано верно, то у вас должна высветиться установившееся версия 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.

Возможно вам будет интересно почитать “Что такое IronPyton: обзор и установка”

Поделись статьей с друзьями!

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *