pandas如何解决excel科学计数法问题
pandas解决excel科学计数法问题
excel默认处理超14位的数字成科学计数法,且后面的数字默认变0。
使用pandas合表或者生成新表时这是最恶心的问题。
亲测两个方法有效
1、若数据量不大,可将to_excel替换成to_csv,csv的包容性还是极强的,但当数据量庞大时,会遇到打不开的情况。
2、万能解法,read_excel时:
df = pd.read_excel("filepath", dtype=str)
一律str型,就不存在数字不数字的情况了。
但要注意:
df = df.infer_objects() """ """ df.to_excel("filepath", index=False, encoding="utf-8")
pandas替换科学计数法数字
用Pandas读取数据时发现工单编号、电话号码等变成科学计数法记录。通过观察当电话号码类型是float时采用科学计数法,而int不会。将电话号码转化成int类型(在Excel里电话号码转化成字符串类型也没有解决问题)
首先要将空值转化成数值,这里我转化成了-1(这里我把data所有字段都填了-1)
data = data.fillna(-1)
将电话号码字段转化成int类型(我把所有需要int类型的数字转化了。注意:含有空值会报不能将NA转化成Integer的错误)
data[['联系电话','关联工单','处理人员','处理满意度']].astype('int64')
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Python处理字节串:struct.pack和struct.unpack使用
这篇文章主要介绍了Python处理字节串:struct.pack和struct.unpack使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-01-01Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
这篇文章主要介绍了Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能,涉及Python网络请求的创建、发送、响应、处理等相关操作技巧,需要的朋友可以参考下2018-01-01Django项目主urls导入应用中views的红线问题解决
这篇文章主要介绍了Django项目主urls导入应用中views的红线问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-08-08Python2和Python3中urllib库中urlencode的使用注意事项
这篇文章主要介绍了Python2和Python3中urllib库中urlencode的使用注意事项,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下2018-11-11
最新评论