Статья Автор: Лебедев Дмитрий

Работа с файлами EXEL через Pandas

Рассмотрим задание типа 3 КЕГЭ, в котором надо обработать "связанные данные", представленные файлом формата EXCEL (Сразу оговорим, что это разбор возможностей, а не метод решения задания) Условия задания (демо версия КЕГЭ 2025) 
Файл из задания приложен к тетради, в файле три таблицы. В каждая из таблице первый столбец является индексным.
Файл интересен тем, что содержит буквы кириллицы как в данных, так и в назнаниях столбцов.
Для выполнения задания будет использоваться библиотека Pandas. Начальные сведения о Pandas можно найти в курсе "ОСНОВЫ АНАЛИЗА ДАННЫХ"


Для  чтения данных использовался метод read_exel(). Далее это будет сделано и другим способом.
В следующем блоке можно попробовать получить данные из версии ".xls" и другие варианты.
 


Продолжаем работать с файлом в формате ".xlsx'
Каждая таблица в файле имеет "столбец ID" - выделим его в индексный при чтении.
Обработку таблиц можно проводить средствами библиотеки Pandas, но для решения поставленной задачи достаточно "преобразовать" таблицы в словари
Сделаем это для таблицы "Магазин" и сделаем выборку магазинов с "проспекта Революции" 
Параметр orient может принимать различные значения и позволять создавать различные словари
Для нашей задачи подойдет значение 'index'.


Выбрав из таблиц 2 и 3 нужные значения ключей легко получить выборку из таблицы 1 ("Движение товаров")  
Типы данных в выборках совпадают с типами в исходном файле, поэтому "немного помучиться" придется со временем.
В блоке приведен итог работы, но в ходе написания кода проводилась "информационная" печать, которая позволила определить формат времени и способ его обработки.


Подведем некоторые итоги
  1. Отбор данных, группировку и связи таблиц можно делать средствами Pandas. 
    При решении задания Pandas использовался только для чтения из файла и создания словарей
  2. Названия столбцов используются полностью, что сохраняет "читаемость" решения, но усложняет применение его для использования на экзамене (использование EXCEL будет более обоснованным) 
  3. Для решения задания можно было использовать и другие библиотеки, например openpyxl

Приведём другое решение, которое не будет использовать фактические имена, а будет больше работать с номерами листов и таблиц
Используем некоторую "однотипность" листов в таблице (индексный столбец первый), откажемся от промежуточных выборок.
Можно "сказать", что этот подход "моделирует функцию ВПР EXCEL"
 


Прикрепленные файлы
3_17857.xls
3_17857.xlsx
Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать