Найти тему
Властелин машин

Как объединить набор файлов в таблицу и избежать проблем

Рассмотрим, как считать данные из набора файлов на жестком диске и не допустить ошибку.

Решать задачу будем средствами библиотеки Pandas. Допустим, что файлы располагаются по адресу people_income/files относительно вашей рабочей директории. Тогда считать данные из папки в список датафреймов (предполагается формат xlsx) можно при помощи следующего скрипта:

Мы задали корневую папку поиска (data_path) для добавления в список (data_l) набора датафреймов, соответствующих каждому файлу. Также наблюдаем за временем считывания и размерами массивов для того, чтобы удостовериться в правильности своих действий.

Теперь можно осуществить конкатенацию:

-2

В связи с возможными ошибками при автоматическом распознавании типов (рассказывал ранее) при считывании таблиц использовался параметр dtype='str'. Соответственно, после может потребоваться явно преобразовать типы некоторых столбцов:

-3

В ходе объединения таблиц нас могут ожидать трудности, связанные с несовпадением полей в файлах:

-4

Сложности могут быть связаны не только с разным обозначением столбцов, но и наличием нескольких листов в файле. Например, требуемая информация может располагаться не на первом листе, который считывается по умолчанию функцией read_excel. Тогда может потребоваться указать параметр sheet_name.

Таким образом, будьте внимательны при считывании файлов и следите за соответствием:

  • количества записей в каждой и итоговой таблице
  • наименованиями полей в исходных и итоговой таблице

Отслеживание ошибок данного типа поможет сэкономить вам нервы и время. А с какими подводными камнями при считывании файлов сталкивались вы, делитесь в комментариях?

-5