使用pandas读取csv文件的指定列方法


Posted in Python onApril 21, 2018

根据教程实现了读取csv文件前面的几行数据,一下就想到了是不是可以实现前面几列的数据。经过多番尝试总算试出来了一种方法。

之所以想实现读取前面的几列是因为我手头的一个csv文件恰好有后面几列没有可用数据,但是却一直存在着。原来的数据如下:

GreydeMac-mini:chapter06 greyzhang$ cat data.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]: 
  1 name_01 coment_01 Unnamed: 3 Unnamed: 4 Unnamed: 5 Unnamed: 6
0 2 name_02 coment_02   NaN   NaN   NaN   NaN
1 3 name_03 coment_03   NaN   NaN   NaN   NaN
2 4 name_04 coment_04   NaN   NaN   NaN   NaN
3 5 name_05 coment_05   NaN   NaN   NaN   NaN
4 6 name_06 coment_06   NaN   NaN   NaN   NaN
5 7 name_07 coment_07   NaN   NaN   NaN   NaN
6 8 name_08 coment_08   NaN   NaN   NaN   NaN
7 9 name_09 coment_09   NaN   NaN   NaN   NaN
8 10 name_10 coment_10   NaN   NaN   NaN   NaN
9 11 name_11 coment_11   NaN   NaN   NaN   NaN
10 12 name_12 coment_12   NaN   NaN   NaN   NaN
11 13 name_13 coment_13   NaN   NaN   NaN   NaN
12 14 name_14 coment_14   NaN   NaN   NaN   NaN
13 15 name_15 coment_15   NaN   NaN   NaN   NaN
14 16 name_16 coment_16   NaN   NaN   NaN   NaN
15 17 name_17 coment_17   NaN   NaN   NaN   NaN
16 18 name_18 coment_18   NaN   NaN   NaN   NaN
17 19 name_19 coment_19   NaN   NaN   NaN   NaN
18 20 name_20 coment_20   NaN   NaN   NaN   NaN
19 21 name_21 coment_21   NaN   NaN   NaN   NaN

所说在学习的过程中这并不会给我带来什么障碍,但是在命令行终端界面呆久了总喜欢稍微清爽一点的风格。使用read_csv的参数usecols能够在一定程度上减少这种混乱感。

In [45]: data = pd.read_csv('data.csv',usecols=[0,1,2,3])

In [46]: data
Out[46]: 
  1 name_01 coment_01 Unnamed: 3
0 2 name_02 coment_02   NaN
1 3 name_03 coment_03   NaN
2 4 name_04 coment_04   NaN
3 5 name_05 coment_05   NaN
4 6 name_06 coment_06   NaN
5 7 name_07 coment_07   NaN
6 8 name_08 coment_08   NaN
7 9 name_09 coment_09   NaN
8 10 name_10 coment_10   NaN
9 11 name_11 coment_11   NaN
10 12 name_12 coment_12   NaN
11 13 name_13 coment_13   NaN
12 14 name_14 coment_14   NaN
13 15 name_15 coment_15   NaN
14 16 name_16 coment_16   NaN
15 17 name_17 coment_17   NaN
16 18 name_18 coment_18   NaN
17 19 name_19 coment_19   NaN
18 20 name_20 coment_20   NaN
19 21 name_21 coment_21   NaN

为了能够看到数据的“边界”,读取的时候显示了第一列无效的数据。正常的使用中,或许我们是想连上面结果中最后一列的信息也去掉的,那只需要在参数重去掉最后一列的列号。

In [47]: data = pd.read_csv('data.csv',usecols=[0,1,2])

In [48]: data
Out[48]: 
  1 name_01 coment_01
0 2 name_02 coment_02
1 3 name_03 coment_03
2 4 name_04 coment_04
3 5 name_05 coment_05
4 6 name_06 coment_06
5 7 name_07 coment_07
6 8 name_08 coment_08
7 9 name_09 coment_09
8 10 name_10 coment_10
9 11 name_11 coment_11
10 12 name_12 coment_12
11 13 name_13 coment_13
12 14 name_14 coment_14
13 15 name_15 coment_15
14 16 name_16 coment_16
15 17 name_17 coment_17
16 18 name_18 coment_18
17 19 name_19 coment_19
18 20 name_20 coment_20
19 21 name_21 coment_21

以上这篇使用pandas读取csv文件的指定列方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中使用装饰器和元编程实现结构体类实例
Jan 28 Python
Python中常见的数据类型小结
Aug 29 Python
python与C互相调用的方法详解
Jul 14 Python
Python入门之三角函数全解【收藏】
Nov 08 Python
TensorFlow在MAC环境下的安装及环境搭建
Nov 14 Python
基于Python函数的作用域规则和闭包(详解)
Nov 29 Python
对pandas中iloc,loc取数据差别及按条件取值的方法详解
Nov 06 Python
python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)
Jun 27 Python
python 一个figure上显示多个图像的实例
Jul 08 Python
Python如何在windows环境安装pip及rarfile
Jun 15 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
Jul 14 Python
如何利用pycharm进行代码更新比较
Nov 04 Python
Python 3.7新功能之dataclass装饰器详解
Apr 21 #Python
pandas or sql计算前后两行数据间的增值方法
Apr 20 #Python
对pandas进行数据预处理的实例讲解
Apr 20 #Python
pandas 两列时间相减换算为秒的方法
Apr 20 #Python
详谈pandas中agg函数和apply函数的区别
Apr 20 #Python
Python使用pip安装pySerial串口通讯模块
Apr 20 #Python
pandas apply 函数 实现多进程的示例讲解
Apr 20 #Python
You might like
php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
ThinkPHP路由机制简介
2016/03/23 PHP
PHP实现的超长文本分页显示功能示例
2018/06/04 PHP
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
使用GruntJS构建Web程序之构建篇
2014/06/04 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
jquery阻止后续事件只执行第一个事件
2014/07/24 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
使用snowfall.jquery.js实现爱心满屏飞的效果
2017/01/05 Javascript
JS判断指定dom元素是否在屏幕内的方法实例
2017/01/23 Javascript
jQuery插件HighCharts绘制2D带有Legend的饼图效果示例【附demo源码下载】
2017/03/10 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
ionic grid(栅格)九宫格制作详解
2018/06/30 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
layui-tree实现Ajax异步请求后动态添加节点的方法
2019/09/23 Javascript
vue 解决form表单提交但不跳转页面的问题
2019/10/30 Javascript
Vue 一键清空表单的实现方法
2020/02/07 Javascript
微信小程序通过websocket实时语音识别的实现代码
2020/08/19 Javascript
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
[02:30]DOTA2放量测试专访海涛:呼吁保护新手玩家
2013/08/26 DOTA
[01:31:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第二场 1月10日
2021/03/11 DOTA
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
盘点提高 Python 代码效率的方法
2014/07/03 Python
python Django的web开发实例(入门)
2019/07/31 Python
如何修复使用 Python ORM 工具 SQLAlchemy 时的常见陷阱
2019/11/19 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
远东集团网络工程师面试题
2014/10/20 面试题
毕业生自我鉴定实例
2014/01/21 职场文书
《跨越百年的美丽》教学反思
2014/02/11 职场文书
旅行社各个岗位职责
2014/03/15 职场文书
师德师风个人反思
2014/04/28 职场文书
工程索赔意向书
2014/08/30 职场文书
幸福中国演讲稿
2014/09/12 职场文书
经济纠纷起诉状
2015/05/20 职场文书
美德少年事迹材料(2016推荐版)
2016/02/25 职场文书
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技