我正在尝试通过熊猫从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'})