使用python获取csv文本的某行或某列数据的实例


Posted in Python onApril 03, 2018

站长用Python写了一个可以提取csv任一列的代码,欢迎使用。Github链接

csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格:

使用python获取csv文本的某行或某列数据的实例

就可以存储为csv文件,文件内容是:

No.,Name,Age,Score
1,Apple,12,98
2,Ben,13,97
3,Celia,14,96
4,Dave,15,95

假设上述csv文件保存为"A.csv",如何用Python像操作Excel一样提取其中的一列,即一个字段,利用Python自带的csv模块,有两种方法可以实现:

第一种方法使用reader函数,接收一个可迭代的对象(比如csv文件),能返回一个生成器,就可以从其中解析出csv的内容:比如下面的代码可以读取csv的全部内容,以行为单位:

import csv
with open('A.csv','rb') as csvfile:
 reader = csv.reader(csvfile)
 rows= [row for row in reader]
print rows

得到:

[['No.', 'Name', 'Age', 'Score'],
['1', 'Apple', '12', '98'],
['2', 'Ben', '13', '97'],
['3', 'Celia', '14', '96'],
['4', 'Dave', '15', '95']]

要提取其中某一列,可以用下面的代码:

import csv
with open('A.csv','rb') as csvfile:
 reader = csv.reader(csvfile)
 column = [row[2] for row in reader]
print column

得到:

['Age', '12', '13', '14', '15']

注意从csv读出的都是str类型。这种方法要事先知道列的序号,比如Age在第2列,而不能根据'Age'这个标题查询。这时可以采用第二种方法:

第二种方法是使用DictReader,和reader函数类似,接收一个可迭代的对象,能返回一个生成器,但是返回的每一个单元格都放在一个字典的值内,而这个字典的键则是这个单元格的标题(即列头)。用下面的代码可以看到DictReader的结构:

import csv
with open('A.csv','rb') as csvfile:
 reader = csv.DictReader(csvfile)
 column = [row for row in reader]
print column

得到:

[{'Age': '12', 'No.': '1', 'Score': '98', 'Name': 'Apple'},
{'Age': '13', 'No.': '2', 'Score': '97', 'Name': 'Ben'},
{'Age': '14', 'No.': '3', 'Score': '96', 'Name': 'Celia'},
{'Age': '15', 'No.': '4', 'Score': '95', 'Name': 'Dave'}]

如果我们想用DictReader读取csv的某一列,就可以用列的标题查询:

import csv
with open('A.csv','rb') as csvfile:
 reader = csv.DictReader(csvfile)
 column = [row['Age'] for row in reader]
print column

就得到:

['12', '13', '14', '15']

以上这篇使用python获取csv文本的某行或某列数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python转码问题的解决方法
Oct 07 Python
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
Mar 30 Python
Python之os操作方法(详解)
Jun 15 Python
python3+PyQt5重新实现QT事件处理程序
Apr 19 Python
Python中文件的读取和写入操作
Apr 27 Python
Python实现求两个数组交集的方法示例
Feb 23 Python
基于python实现的百度新歌榜、热歌榜下载器(附代码)
Aug 05 Python
pygame实现烟雨蒙蒙下彩虹雨
Nov 11 Python
python之array赋值技巧分享
Nov 28 Python
python中图像通道分离与合并实例
Jan 17 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
Mar 07 Python
Django中的DateTimeField和DateField实现
Feb 24 Python
python中实现数组和列表读取一列的方法
Apr 03 #Python
numpy.delete删除一列或多列的方法
Apr 03 #Python
取numpy数组的某几行某几列方法
Apr 03 #Python
Python numpy 提取矩阵的某一行或某一列的实例
Apr 03 #Python
python3安装pip3(install pip3 for python 3.x)
Apr 03 #Python
Win7 64位下python3.6.5安装配置图文教程
Oct 27 #Python
windows10下python3.5 pip3安装图文教程
Apr 02 #Python
You might like
PHPThumb PHP 图片缩略图库
2012/03/11 PHP
event.srcElement+表格应用
2006/08/29 Javascript
javascript cookie解码函数(兼容ff)
2008/03/17 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
jQuery学习笔记(4)--Jquery中获取table中某列值的具体思路
2013/04/10 Javascript
轻松创建nodejs服务器(6):作出响应
2014/12/18 NodeJs
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
JS中多种方式创建对象详解
2016/03/22 Javascript
JS创建事件的三种方法(实例代码)
2016/05/12 Javascript
JS中的进制转换以及作用
2016/06/26 Javascript
微信小程序 获取设备信息 API实例详解
2016/10/02 Javascript
折叠菜单及选择器的运用
2017/02/03 Javascript
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
JS基于递归实现网页版计算器的方法分析
2017/12/20 Javascript
angular2实现统一的http请求头方法
2018/08/13 Javascript
IE9 elementUI文件上传的问题解决
2018/10/17 Javascript
vue表单数据交互提交演示教程
2019/11/13 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
Vue自定义组件的四种方式示例详解
2020/02/28 Javascript
浅谈javascript事件环微任务和宏任务队列原理
2020/09/12 Javascript
在Django的视图中使用数据库查询的方法
2015/07/16 Python
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
Python线程下使用锁的技巧分享
2018/09/13 Python
Python中函数参数匹配模型详解
2019/06/09 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
2020/11/10 Python
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
简约控的天堂:The Undone
2016/12/21 全球购物
大型晚会策划方案
2014/02/06 职场文书
公休请假条
2014/04/11 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
学习经验交流会策划书
2015/11/02 职场文书
机关干部正风肃纪心得体会
2016/01/15 职场文书
Python控制台输出俄罗斯方块移动和旋转功能
2021/04/18 Python
python3实现Dijkstra算法最短路径的实现
2021/05/12 Python