2017-01-25 2 views
-1

У меня есть файл Excel файл «test.xls», который я мог бы прочитать как следующее:питон ошибки чтения файла Exel начинает нули ошибку

df= pd.read_excel('test.xls',sep='\t',header=1) 

Я проверил ФР и обнаружил, есть столбец zip_code который содержит почтовый индекс код 00051, 00123, но первый 0 был отключен, а система читала в файле excel.

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

+1

это преобразованный текст в целое, проверьте, если вы можете в read_excel объявляет тип данных в столбцах. Или используйте строковое форматирование для преобразования целых чисел в строку с ведущими нулями. – furas

+0

использовать словарь для установки 'dtype' рассматриваемого столбца – MMF

+0

Поскольку OP нашел ответ в связанном вопросе, его следует закрыть как дубликат [Python pandas: как указать типы данных при чтении файла Excel?] (http://stackoverflow.com/questions/32591466/python-pandas-how-to-specify-data-types-when-reading-an-excel-file) – Tony

ответ

0

Найденный ответ здесь:

Python pandas: how to specify data types when reading an Excel file?:

Вы просто указать преобразователи. Я создал таблицу Excel из следующей структуры:

names ages 
    bob  05 
    tom  4 
    suzy 3 

Где столбцы «возрасты» отформатированы как строки. Для загрузки:

импорт панды как э.р.

df =  pd.read_excel('Book1.xlsx',sheetname='Sheet1',header=0,converters={'names':str,'ages':str}) 
df 
     names ages 
    0 bob 05 
    1 tom 4 
    2 suzy 3 

Благодаря @tnknepp

+0

Я попробовал вышеуказанный конвертер, но все еще есть проблема. Я проверил исходный файл Excel, почтовый индекс был сохранен как формат почтового индекса. Я, наконец, нашел это для работы: http://stackoverflow.com/questions/33137686/python-loading-zip-codes-into-a-dataframe-as-strings df ['zipcode'] = df ['zipcode'] .astype (str) .str.zfill (5) – newleaf

+0

этот метод работает – newleaf

Смежные вопросы