当我通过熊猫从 excel 读取十六进制字符串时,如何抑制 python 中的科学记数法?



我正在尝试通过熊猫从excel文件中读取十六进制字符串(如用户ID(作为文件名 但是熊猫中的默认类型是浮点数,所以当我从文件中读取这些列(包含数字和"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'})

最新更新