解决Python读取Excel文件,订单号最后几位显示为0的问题

        研究好几天,查了很多博客,终于搞懂为什么我的excel文件,python读取后,订单号不能正常显示的问题。真的是太开心了。

1、首先,读入excel文件

df2 = pd.read_excel(excel_name,sheet_name='表-0056-cp',index = False,encoding ='utf8')
df2.head(2)

 可见订单号不能正常显示,

2、查看df2的数据类型。

df2.info()

 原来excel读取这一列时,将订单号转换成了float类型。

更新:

3、将订单号,转换为int类型时报以下错误:

ValueError: Cannot convert non-finite values (NA or inf) to integer

代码:

 原因是 订单号这列有些值为空,所以不能转换成int数据类型

填充空值或者删除出现空值的行:

df2=df2[df2['订单号'].notna()]

或者

df2['订单号'].fillna(0)

然后转换数据类型:

注意,如果直接用使用int类型会默认成 int32 ,数据长度不够,不能正常显示:

df2['订单编号']=df2['订单号'].astype(int)

所以,需要重新调用一下numpy,指定转换成int64

df2['订单编号']=df2['订单号'].astype(np.int64)

显示结果为:

 终于可以正常显示了,要哭了

参考:

1、https://stackoverflow.com/questions/48511484/data-type-conversion-error-valueerror-cannot-convert-non-finite-values-na-or

2、https://zhuanlan.zhihu.com/p/128993261?utm_source=wechat_session&utm_medium=social&utm_oi=831995427866955776

3、https://zhuanlan.zhihu.com/p/35287822?utm_source=wechat_session&utm_medium=social&utm_oi=831995427866955776

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值