使用pandas读取csv文件的指定列方法
根据教程实现了读取csv文件前面的几行数据,一下就想到了是不是可以实现前面几列的数据。经过多番尝试总算试出来了一种方法。
之所以想实现读取前面的几列是因为我手头的一个csv文件恰好有后面几列没有可用数据,但是却一直存在着。原来的数据如下:
GreydeMac-mini:chapter06greyzhang$catdata.csv
1,name_01,coment_01,,,, 2,name_02,coment_02,,,, 3,name_03,coment_03,,,, 4,name_04,coment_04,,,, 5,name_05,coment_05,,,, 6,name_06,coment_06,,,, 7,name_07,coment_07,,,, 8,name_08,coment_08,,,, 9,name_09,coment_09,,,, 10,name_10,coment_10,,,, 11,name_11,coment_11,,,, 12,name_12,coment_12,,,, 13,name_13,coment_13,,,, 14,name_14,coment_14,,,, 15,name_15,coment_15,,,, 16,name_16,coment_16,,,, 17,name_17,coment_17,,,, 18,name_18,coment_18,,,, 19,name_19,coment_19,,,, 20,name_20,coment_20,,,, 21,name_21,coment_21,,,,
如果使用pandas读取出全部的数据,打印的时候会出现以下结果:
In[41]:data=pd.read_csv('data.csv')
In[42]:data Out[42]: 1name_01coment_01Unnamed:3Unnamed:4Unnamed:5Unnamed:6 02name_02coment_02NaNNaNNaNNaN 13name_03coment_03NaNNaNNaNNaN 24name_04coment_04NaNNaNNaNNaN 35name_05coment_05NaNNaNNaNNaN 46name_06coment_06NaNNaNNaNNaN 57name_07coment_07NaNNaNNaNNaN 68name_08coment_08NaNNaNNaNNaN 79name_09coment_09NaNNaNNaNNaN 810name_10coment_10NaNNaNNaNNaN 911name_11coment_11NaNNaNNaNNaN 1012name_12coment_12NaNNaNNaNNaN 1113name_13coment_13NaNNaNNaNNaN 1214name_14coment_14NaNNaNNaNNaN 1315name_15coment_15NaNNaNNaNNaN 1416name_16coment_16NaNNaNNaNNaN 1517name_17coment_17NaNNaNNaNNaN 1618name_18coment_18NaNNaNNaNNaN 1719name_19coment_19NaNNaNNaNNaN 1820name_20coment_20NaNNaNNaNNaN 1921name_21coment_21NaNNaNNaNNaN
所说在学习的过程中这并不会给我带来什么障碍,但是在命令行终端界面呆久了总喜欢稍微清爽一点的风格。使用read_csv的参数usecols能够在一定程度上减少这种混乱感。
In[45]:data=pd.read_csv('data.csv',usecols=[0,1,2,3])
In[46]:data Out[46]: 1name_01coment_01Unnamed:3 02name_02coment_02NaN 13name_03coment_03NaN 24name_04coment_04NaN 35name_05coment_05NaN 46name_06coment_06NaN 57name_07coment_07NaN 68name_08coment_08NaN 79name_09coment_09NaN 810name_10coment_10NaN 911name_11coment_11NaN 1012name_12coment_12NaN 1113name_13coment_13NaN 1214name_14coment_14NaN 1315name_15coment_15NaN 1416name_16coment_16NaN 1517name_17coment_17NaN 1618name_18coment_18NaN 1719name_19coment_19NaN 1820name_20coment_20NaN 1921name_21coment_21NaN
为了能够看到数据的“边界”,读取的时候显示了第一列无效的数据。正常的使用中,或许我们是想连上面结果中最后一列的信息也去掉的,那只需要在参数重去掉最后一列的列号。
In[47]:data=pd.read_csv('data.csv',usecols=[0,1,2])
In[48]:data Out[48]: 1name_01coment_01 02name_02coment_02 13name_03coment_03 24name_04coment_04 35name_05coment_05 46name_06coment_06 57name_07coment_07 68name_08coment_08 79name_09coment_09 810name_10coment_10 911name_11coment_11 1012name_12coment_12 1113name_13coment_13 1214name_14coment_14 1315name_15coment_15 1416name_16coment_16 1517name_17coment_17 1618name_18coment_18 1719name_19coment_19 1820name_20coment_20 1921name_21coment_21
以上这篇使用pandas读取csv文件的指定列方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。