场景:
将excel表格数据合并后,发现常规的数字后面几位都变成0了
原因:
excel显示数字时,如果数字大于12位就会自动转化为科学计数法。如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0。所以本场景就是因为超过15位了,导致读取有问题,需要将数字类型转换位文本类型(str类型)
解决:
读取的时候都改为文本类型,即str类型读取。这样不管是前面0开头还是数值型长度比较长,不会因为是数字类型而导致读取的时候不按常理出牌。
代码:
df = pd.read_excel(file_path,dtype=str) # 将全部列转为str类型
或者
df = pd.read_excel(file_path,dtype={'结算单号':str}) # 指定某一列为str类型