Есть ли опыт разбора Excel на Python
Что проверяют
Работали ли вы с реальными выгрузками, где Excel грязный: объединённые ячейки, шапка в три строки, формулы и даты в разных форматах. Следом обычно спрашивают, какой библиотекой читали и как справлялись с большими файлами.
Как отвечать
Это вопрос про опыт, поэтому стройте ответ на своём случае: откуда были файлы, сколько их и какого размера, что с ними делали дальше. Цифры нужны свои. Внутри рассказа покажите знание инструментов:
pandas.read_excel: основной путь для табличных данных. Для.xlsxпод капотом движокopenpyxl, аxlrdс версии 2.0 читает только старый.xls. С pandas 2.2 доступен движокcalamine, он заметно быстрее на больших файлах;- параметры, которые реально выручают:
sheet_name=Noneчитает все листы в словарь,headerиskiprowsснимают многострочную шапку,usecolsограничивает колонки,dtype={"inn": str}сохраняет ведущие нули в кодах и ИНН; openpyxlнапрямую: когда нужны не только значения. Режимread_only=Trueдля больших файлов,data_only=True, чтобы получить значения формул вместо их текста;- запись:
to_excelилиXlsxWriter, если нужно форматирование.
Хорошо упомянуть валидацию после чтения: проверку типов и обязательных колонок через pandera или pydantic, чтобы кривой файл падал с понятной ошибкой, а не портил отчёт.
Если опыта не было, так и скажите и расскажите, с чем работали рядом: CSV, JSON, выгрузки из базы. Затем опишите, как подошли бы к задаче с Excel и на какие ловушки обратили бы внимание. Это честнее и сильнее выдуманной истории.
Где спотыкаются
Чистят данные вслепую: dropna() по всей таблице удаляет строки, где пусто в одной необязательной колонке, и часть данных теряется без следа.
Приводят колонку к числу через astype(float) и падают на значениях вроде «1 234,50». Сначала нужно убрать пробелы и заменить запятую, либо задать decimal и thousands при чтении.
Не знают про data_only. openpyxl без него отдаёт формулы строками, а если файл сохранён не в Excel, закешированных значений может не быть вовсе, и вернётся None.