Невозможно прочитать Excel с начальным нулем в pandas

#python #python-3.x #excel #pandas #dataframe

#python #python-3.x #excel #pandas #фрейм данных

Вопрос:

Если я читаю Excel, он читается как

    SKU Code Location Code  GIT
    123456           100   10
    123456           200   20
    123456           300    0
  

но на самом деле мои данные Excel

    SKU Code Location Code  GIT
    123456           0100   10
    123456           0200   20
    123456           0300    0
  

Я попробовал следующее

 gitDataDF = pd.read_excel("filename.xlsx",
                           sheet_name='Sheet1', inferSchema='true'
                          ,converters={'Location Code': str})
  

и

 gitDataDF = pd.read_excel("filename.xlsx",
                           sheet_name='Sheet1', inferSchema='true'
                          ,dtype={'Location Code': np.str})
  

Обновление 1 :
Длина значения не фиксирована. Это может быть ‘N’

Что я должен сделать, чтобы читать как есть. Можете ли вы помочь мне решить это?

К вашему сведению, я использую версию Python — 3.8

Версия Pandas — 1.0.5

Комментарии:

1. Для меня хорошо работает одна идея — данные в столбце похожи на строки с нулями в Excel?

2. Нет, это относится к типу данных number @jezrael

3. Итак, если в Excel есть числа, нулей нет.

Ответ №1:

Вы можете попробовать использовать f-строку:

 gitDataDF = pd.read_excel("filename.xlsx",
                           sheet_name='Sheet1', inferSchema='true'
                          ,converters={'Location Code': lambda x: f'{x:04}'})
  

Комментарии:

1. @T.SURESH ARUNACHALAM О, я понимаю. Вы пробовали использовать dtype вместо конвертеров?