繁体   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