Как подавить нотацию scientifi c в python при чтении шестнадцатеричной строки из excel с помощью pandas? - PullRequest
0 голосов
/ 13 января 2020

Я пытаюсь прочитать шестнадцатеричную строку (например, идентификатор пользователя) как имя файла из файлов Excel по pandas Но тип по умолчанию в pandas - это float, поэтому, когда я читаю эти столбцы (которые содержат число и 'e ') из файла эти идентификаторы будут иметь научную c запись, такую ​​как 9645e101 -> 9.645e + 104.

Я пробовал

xls = pd.ExcelFile('data.xlsx')
sheet=xls.parse(sheetname,convert_float=False)

и

sheet['ID'].astype('str')

оба решения у меня не сработали. Строка вышла еще в научной нотации c Существует ли способ подавить преобразование в научную нотацию c? Заранее спасибо за вашу поддержку.

1 Ответ

0 голосов
/ 13 января 2020

Вы должны указать явные типы столбцов в виде словаря, индексированного по именам столбцов:

xls = pd.ExcelFile('data.xlsx')
sheet = xls.parse(sheetname, dtype={'ID': 'str'})

Это может быть возможно даже без строки заголовка

sheet = xls.parse(sheetname, header=None, dtype={0: 'str'})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...