簡體   English   中英

當我從 Pandas 的 excel 中讀取十六進制字符串時,如何抑制 python 中的科學記數法?

[英]How do I suppress scientific notation in python when I read hexadecimal string from excel by pandas?

我正在嘗試從 Pandas 的 excel 文件中讀取十六進制字符串(如用戶 ID)作為文件名但是 Pandas 中的默認類型是浮點數,所以當我從文件中讀取這些列(包含數字和“e”)時,那些ID 將是科學記數法,如 9645e101 --> 9.645e+104。

我試過了

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

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

兩種解決方案對我都不起作用字符串仍然以科學記數法出現是否存在抑制轉換為科學記數法的方法? 預先感謝您的支持。

您必須將列的顯式 dtype 作為按列名索引的字典提供:

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

甚至可以沒有標題行

sheet = xls.parse(sheetname, header=None, dtype={0: 'str'})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM