python - python - 当我从熊猫的excel中读取十六进制字符串时,如何抑制python中的科学记数法?
问题描述
我正在尝试通过pandas从excel文件中读取十六进制字符串(如用户ID)作为文件名但是pandas中的默认类型是float,所以当我从文件中读取这些列(包含数字和'e')时,那些ID 将是科学计数法,如 9645e101 --> 9.645e+104。
我努力了
xls = pd.ExcelFile('data.xlsx')
sheet=xls.parse(sheetname,convert_float=False)
和
sheet['ID'].astype('str')
两种解决方案都对我不起作用字符串仍然以科学记数法出现是否存在抑制转换为科学记数法的方法?预先感谢您的支持。
解决方案
您必须将列的显式 dtypes 作为由列名索引的字典:
xls = pd.ExcelFile('data.xlsx')
sheet = xls.parse(sheetname, dtype={'ID': 'str'})
甚至可能没有标题行
sheet = xls.parse(sheetname, header=None, dtype={0: 'str'})
推荐阅读
- sql - 过滤掉整个记录 SQL
- json - 如何映射在字段名称中同时具有点且具有值子元素的 json 响应
- mongoose - 有没有办法在客户端使用猫鼬创建的方法?
- php - Apache 错误 AH02538:子进程:父进程突然退出。子进程正在结束 xampp PHP 7
- flow-project - 如何在 tutorial01 中将训练有素的 RL 控制车辆添加到系统中?
- mysql - 插入触发器后的Mysql给出错误
- python - 使用python3计算txt文件特定部分的单词出现次数
- node.js - heroku 和 node.js 没有找到带有请求模块的 php 文件
- python - 如何在 Python 中仅读取/选择输入的一部分?
- python - 如何使用 Python 在 Windows 中处理带有空格的长路径