pandas从excel读取数据数字类型过长出现科学计数法的问题

场景:

将excel表格数据合并后,发现常规的数字后面几位都变成0了


image.png

原因:

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类型

www.qmpython.com

你可能感兴趣的:(pandas从excel读取数据数字类型过长出现科学计数法的问题)