Как читать excel файл в pandas, если столбец содержит ведущие нули

Вообще-то какой-то странный вопрос.

Начнем с того, что в файле EXCEL если данные записаны как целые числа, то ведущие нули отображаться не будут.

Другое дело, если данные записаны в формате "текстовый" - но тогда, разумеется, "лобовое" преобразование в целое число при чтении файла Pandas выполнить не сможет.

Вы, кстати, в операторе чтения параметром dtype=str говорите, что данные у вас строковые, а не целые.

Во-вторых. Если вы работаете в данных формата int в самом Python (или Pandas), то даже задать ведущие нули у вас нет возможности. Вот пример:

PythonВыделить код

1
2
3

i=int(00000005)
                 ^
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers

или

PythonВыделить код

1
2
3

   i=0003
         ^
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers

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

Другое дело, если ПРИ ВЫВОДЕ вы (для красоты) хотите вывести целые числа так, что-бы у него было требуемое количество ведущих нулей. Это возможно:

PythonВыделить код

1
2
3

i=5
str(i).zfill(9)
Out[86]: '000000005'

или так

Для Pandas - все аналогично. Не мешаем Pandas/Python работать так, как ему удобно, а при выводе - преобразуем в формат, который нам надо. Хотите хранить в таким СИМВОЛЬНОМ виде - преобразуйте свои данны явно, и они - как строки!! - будут хратиться с этими ведущими нулями. Но они будут строками, а не числами.