Разбор ресурсной ведомости с помощью библиотки pandas

На работе часто приходится работать с ресурсной ведомостью в формате excel, откуда необходимо по-группам разбить материалы. Пробую использовать библиотеку pandas для этих целей, однако не могу сообразить как можно такой формат данных excel преобразовать в удобную DataFrame, с которой можно было бы работать. Excel таблица довольно таки неудобно выглядит. Пробовал с помощью срезов, но видимо скиллов не хватает. Буду признателен за помощь. Пример ресурсной ведомости выложил по ссылке.


Ответы (1 шт):

Автор решения: strawdog

Если у вас шапка с заголовками для всех ведомостей одинаковая, то можно сделать так, установив модули pandas и openpyxl:

import pandas as pd

df = pd.read_excel("Ресурсная ведомость - Сводная ресурсная ведомость2.xlsx", skiprows=11, header=None, names=["Код", "Наименование", "Единицы", "Количество", "Брутто", "Класс", "Разряд"])
df = df[df["Код"].notna() & df["Наименование"].notna()]

тогда вы получите df:

                     Код                                       Наименование    Единицы  Количество  Брутто  Класс  Разряд
0           91.01.01-034              Бульдозеры, мощность 59 кВт (80 л.с.)    маш.час      0.0400     NaN    NaN     NaN
1           91.01.01-035             Бульдозеры, мощность 79 кВт (108 л.с.)    маш.час     12.5300     NaN    NaN     NaN
2           91.01.01-038            Бульдозеры, мощность 121 кВт (165 л.с.)    маш.час     66.6600     NaN    NaN     NaN
3           91.01.01-039            Бульдозеры, мощность 132 кВт (180 л.с.)    маш.час      2.5500     NaN    NaN     NaN
4           91.01.02-004  Автогрейдеры среднего типа, мощность 99 кВт (1...    маш.час      8.6400     NaN    NaN     NaN
..                   ...                                                ...        ...         ...     ...    ...     ...
94   ФССЦпг-03-01-01-003  Перевозка грузов автомобилями бортовыми грузоп...  1 т груза     22.2191     NaN    NaN     NaN
97   ФССЦпг-01-01-01-003  Погрузо-разгрузочные работы при автомобильных ...  1 т груза     21.3750     NaN    NaN     NaN
98   ФССЦпг-01-01-01-045  Погрузо-разгрузочные работы при автомобильных ...  1 т груза      0.8441     NaN    NaN     NaN
99   ФССЦпг-01-01-02-003  Погрузо-разгрузочные работы при автомобильных ...  1 т груза     21.3750     NaN    NaN     NaN
100  ФССЦпг-01-01-02-045  Погрузо-разгрузочные работы при автомобильных ...  1 т груза      0.8441     NaN    NaN     NaN
→ Ссылка