当我从pandas的excel中读取十六进制字符串时,如何抑制python中的科学符号?

当我从pandas的excel中读取十六进制字符串时,如何抑制python中的科学符号?,python,excel,pandas,Python,Excel,Pandas,我正试图通过pandas从excel文件中读取十六进制字符串(如用户ID)作为文件名 但pandas中的默认类型是float,因此当我从文件中读取这些列(其中包含数字和“e”)时,这些ID将是科学符号,如9645e101-->9.645e+104 我试过了 xls = pd.ExcelFile('data.xlsx') sheet=xls.parse(sheetname,convert_float=False) 及 两种解决方案对我都不起作用 弦仍然用科学记数法表示出来 是否存在一种抑制转换为

我正试图通过pandas从excel文件中读取十六进制字符串(如用户ID)作为文件名 但pandas中的默认类型是float,因此当我从文件中读取这些列(其中包含数字和“e”)时,这些ID将是科学符号,如9645e101-->9.645e+104

我试过了

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

两种解决方案对我都不起作用 弦仍然用科学记数法表示出来
是否存在一种抑制转换为科学符号的方法?提前感谢您的支持。

您必须将列的显式数据类型作为按列名索引的字典提供:

xls = pd.ExcelFile('data.xlsx')
sheet = xls.parse(sheetname, dtype={'ID': 'str'})
甚至可以不使用标题行

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

您好,您可以使用这个
np.printoptions(suppress=True)
我已经尝试过这个解决方案,但它对我不起作用
sheet = xls.parse(sheetname, header=None, dtype={0: 'str'})