• Как перехватить исключение pyo3_runtime.PanicException при использовании pandas и calamine?

    @jkate Автор вопроса
    mayton2019, Разработчикам написать не могу т.к. файл можно восстановить, а там конфиденциальная информация, пусть и в сломанном виде. А воспроизвести такую же поломку не вариант.

    Пришлось повозиться, однако процесс-камикадзе выручил. По крайней мере ошибка вылетает, но теперь скрипт продолжает работать. Спасибо!
    Написано
  • Как перехватить исключение pyo3_runtime.PanicException при использовании pandas и calamine?

    @jkate Автор вопроса
    mayton2019, Поскольку проблема возникает на уровне загрузки книги с помощью библиотеки calamine в функции load_workbook (файл _calamine.py), получить значение переменной excel_data не получается, т.к. исключение происходит до завершения чтения файла.

    Вот эта функция:
    def load_workbook(
            self, filepath_or_buffer: FilePath | ReadBuffer[bytes], engine_kwargs: Any
        ) -> CalamineWorkbook:
            from python_calamine import load_workbook
    
            return load_workbook(
                filepath_or_buffer, **engine_kwargs  # type: ignore[arg-type]
            )


    А excel_data - это просто пустой датафрейм, и при неудачном чтении по логике вещей им и остаётся.
    Написано