研究好几天,查了很多博客,终于搞懂为什么我的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)
显示结果为:
终于可以正常显示了,要哭了
参考: