Python读取Excel时把文本数据自动识别为float或int类型的解决办法

您所在的位置:网站首页 excel不能读取文件怎么解决 Python读取Excel时把文本数据自动识别为float或int类型的解决办法

Python读取Excel时把文本数据自动识别为float或int类型的解决办法

2023-10-02 20:52| 来源: 网络整理| 查看: 265

在使用Python做数据分析时,经常需要导入保存在Excel中的数据集文件,但很多时候Python的Pandas会把Excel中的文本数据(例如员工编号,身份证号,不同城市的数字代码等数值型文本)识别为’float’或’int’类型, 而这并不是我们所需要的,特别是在有些机器学习模型中需要对连续型数据和离散型数据(字符串,也就是文本)进行严格区分。看下面的栗子:

数据集Excel长这样: 在这里插入图片描述 现在我们用Pandas把该Excel文件读入Python中:

data=pd.read_excel(r"F:\Testdata.xlsx") data

导入Python后的数据长这样: 在这里插入图片描述 ”社保卡号“一列数据前面的0被自动去掉了(因为被识别成int的数据类型了)。

查看一下导入Python后两列文本的数据类型:

data.info()

在这里插入图片描述 可以看出两列文本数据被识别成了“int"类型,并不是原来的文本数据。

解决办法:

在读取Excel文件的语句中指定每列数据的数据类型,看下面代码:

# 在导入数据时,把两列文本数据的数据类型指定为“str" dtype={ '社保卡号':str, '商品编码':str } data=pd.read_excel(r"F:\Testdata.xlsx",dtype=dtype) data

再看看此时这两列文本数据的类型:

data.info()

在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3