Найти в Дзене

Pandas. Загрузка данных из Excel.

Для проведения анализа данные необходимо откуда-то получить. Источником данных может выступать бухгалтерская программа, к примеру 1С или данные управленческого учета. При отсутствии специальных коннекторов к бухгалтерской программе или грамотного программиста 1С, самым простым и быстрым способом получить данные, будет выгрузить их в Excel. Excel также является универсальным форматом экспорта данных и в других системах учета и сбора данных. Pandas дает возможность загружать данные из Excel попутно обрабатывая и распознавая формат этих данных. Так если в столбце записаны числовые значений, то Pandas автоматически присвоит им формат int64 или float64. Если в столбце будут текстовые данные или формат данных определить не удастся, то данные в столбце будут иметь формат object. Итак, как работает загрузка данных из Excel # импортируем Pandas import pandas as pd Загружаем данные из Excel # Загрузка таблицы demo_df = pd.read_excel('Source/Численность занятых 2023.xlsx', ) В этом примере прои
Оглавление
Загрузка данных
Загрузка данных

Для проведения анализа данные необходимо откуда-то получить. Источником данных может выступать бухгалтерская программа, к примеру 1С или данные управленческого учета.

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

Pandas дает возможность загружать данные из Excel попутно обрабатывая и распознавая формат этих данных. Так если в столбце записаны числовые значений, то Pandas автоматически присвоит им формат int64 или float64. Если в столбце будут текстовые данные или формат данных определить не удастся, то данные в столбце будут иметь формат object.

Загрузка файла Excel

Итак, как работает загрузка данных из Excel

# импортируем Pandas

import pandas as pd

Загружаем данные из Excel

# Загрузка таблицы

demo_df = pd.read_excel('Source/Численность занятых 2023.xlsx', )

Загрузка и просмотр таблицы
Загрузка и просмотр таблицы

В этом примере производится загрузка файла “Численность занятых 2023.xlsx” находящегося в папке “Source”. Загруженная таблица создает датафрейм с названием demo_df.

Метод read_excel() производит загрузку, парсинг и распознавание Excel файла. С помощью данного метода можно загружать файлы с расширением xls, xlsx, xlsm, xlsb, odf, ods и odt.

Обязательный параметр

Обязательным аргументом этого метода является путь к файлу и его название. Путь к файлу Source/Численность занятых 2023.xlsx' указывается в кавычках (кавычки могут быть одинарные или двойные, это неважно).

Можно указать как абсолютный путь к файлу, так и относительный. Относительный путь к файлу прописывается, как путь от расположения самого ноутбука (скрипта). В данном примере в папке, в которой сохранен ноутбук находится папка “Source”, а уже в ней файл “Численность занятых 2023.xlsx”. В новых версиях Pandas путь можно прописывать одинарным слэшем, однако в старых версиях из-за особенностей Python необходимо было ставить двойной слэш //. Так что, если у вас по какой-то причине не находит файл, а вы видите что все написано правильно, попробуйте применить двойной слэш. В линукс-системах для прописывания пути используется обратный слэш.

В Jupyter lab для легкого указания пути есть удобная фишка в левом меню выбираете панель отображения файлов с символом папки. Выбираете нужный для загрузки файл, щелкаете на нем правой кнопкой и выбираете опцию “Copy Path”. Относительный путь от вашей домашней папки скопирован в буфер обмена. Вставляете его, чистите до нужного уровня и все ваш путь к файлу готов.

Если загрузка файла производится из сети интернет вместо пути можно указать URL адрес содержащий необходимый файл. Можно указать как HTTP, так и FTP адрес.

Дополнительные параметры

В методе (внутри скобок), через запятую можно указать и другие параметры необходимые для загрузки нужных вам данных. у каждого параметра в обязательном порядке через = указывается его значение.

Дополнительные параметры указываются вот так:

demo_df = pd.read_excel('Source/Численность занятых 2023.xlsx', sheet_name = “Лист1”, skiprows=11, dtype={'Штрихкод': str})

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

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

skipfooter - этот параметр показывает, какое количество строк в конце нужно пропустить и не читать. skipfooter = 2, последние 2 строки таблицы не будут загружены.

nrows - количество загружаемых строк таблицы. Применяется если нужно загрузить не всю таблицу, а какую-либо ее часть nrows = 256. По умолчанию, если параметр не указан загружается вся таблица, все строки, где есть данные.

dtype - указание типа данных, которое должно быть в том или ином столбце. Если данный параметр не указан Pandas автоматически присвоит данным тип, который посчитает нужным, иногда в этом нет необходимости, данный параметр дает возможность принудительно указывать тип данных, который должен быть в том или ином столбце. Типы данных здесь используются принятые в Python: int - целочисленные, float - числа с плавающей точкой, str - текстовые данные, bool - булевый тип данных. В нашем примере {'Штрихкод': str} числовые данные штрихкода, принудительно загружались, как текстовые данные. Параметр принимает на вход словарь Python {}, в котором в качестве ключей словаря указываются наименования столбцов, а в качестве значений нужный тип данных.

engine - используемая библиотека для обработки Excel-файла. Этот параметр можно не указывать, Pandas сам подберет нужную библиотеку, но если вам нужна какая то особенная, обладающая нужным функционалом, то ее можно указать, к примеру engine = ‘calamine’.

names - Список имен столбцов. Если есть необходимость сразу переименовать столбцы, к примеру сделать латинские названия для кириллических названий столбцов. С этим параметром передается список Python [], в списке по порядку должны быть указаны новые имена столбцов. names = [‘Col1’, ‘Col2’, ‘Col3’] Если загружаемая таблица не содержит строки с названиями столбцов, необходимо указать параметр header=None, в противном случае столбцы будут названы по данным, отраженным в первой строке таблицы.

converters - параметр конвертирует данные в столбце по правилам заданной функции. Самый простой пример, вы описали функцию перевода рублевых значений в долларовые и записали эту формулу в функцию “sel”.

# Функция перевода значений из рубли в доллары. 1 доллар = 100 рублей.

def sel (x):

y = x / 100

return y

При загрузке таблицы Pandas автоматически конвертирует значения в столбце (Col1) по правилам функции и переведет суммы в долларовые значения. converters = {“Col1”: sel}.

Это основные параметры, которые вам понадобятся при загрузке Excel-файлов. Но это не все параметры, если вам нужно что-то специальное вы всегда можете обратиться к технической документации Pandas.

Подписывайтесь на канал, здесь много интересного про Pandas. Поставьте это канал в закладки, вы всегда можете его использовать, как быстрый справочник по функционалу Pandas.