使用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 文件与目录操作
Dec 24 Python
跟老齐学Python之Import 模块
Oct 13 Python
python基于pygame实现响应游戏中事件的方法(附源码)
Nov 11 Python
Python 多线程的实例详解
Sep 07 Python
python处理Excel xlrd的简单使用
Sep 12 Python
Python之Scrapy爬虫框架安装及使用详解
Nov 16 Python
Django contenttypes 框架详解(小结)
Aug 13 Python
pyinstaller打包单个exe后无法执行错误的解决方法
Jun 21 Python
python实现集中式的病毒扫描功能详解
Jul 09 Python
解决Django中checkbox复选框的传值问题
Mar 31 Python
Python OpenCV实现测量图片物体宽度
May 27 Python
让你相见恨晚的十个Python骚操作
Nov 18 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
通过ICQ网关发送手机短信的PHP源程序
2006/10/09 PHP
详解PHP导入导出CSV文件
2014/11/03 PHP
PHP汉字转换拼音的函数代码
2015/12/30 PHP
PHP数据库操作Helper类完整实例
2016/05/11 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
Laravel框架自定义公共函数的引入操作示例
2019/04/16 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
JavaScript中的类继承
2010/11/25 Javascript
解读JavaScript中 For, While与递归的用法
2013/05/07 Javascript
jquery 选取方法都有哪些
2014/05/18 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
jQuery mobile类库使用时加载导航历史的方法简介
2015/12/04 Javascript
BootStrap glyphicon图标无法显示的解决方法
2016/09/06 Javascript
Node.js中的http请求客户端示例(request client)
2017/05/04 Javascript
Vue 3.x+axios跨域方案的踩坑指南
2019/07/04 Javascript
浅谈vue单页面中有多个echarts图表时的公用代码写法
2020/07/19 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
python删除列表中重复记录的方法
2015/04/28 Python
python基于Tkinter库实现简单文本编辑器实例
2015/05/05 Python
python requests 使用快速入门
2017/08/31 Python
Python查找第n个子串的技巧分享
2018/06/27 Python
3个用于数据科学的顶级Python库
2018/09/29 Python
在Python 不同级目录之间模块的调用方法
2019/01/19 Python
python判断文件是否存在,不存在就创建一个的实例
2019/02/18 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
python是否适合网页编程详解
2019/10/04 Python
django框架cookie和session用法实例详解
2019/12/10 Python
使用phonegap查找联系人的实现方法
2017/03/31 HTML / CSS
学生自我鉴定模板
2013/12/30 职场文书
经营理念口号
2014/06/21 职场文书
大学生心理活动总结
2014/07/04 职场文书
就业协议书
2014/09/12 职场文书
2015年社区工作总结
2015/04/08 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
Pytest之测试命名规则的使用
2021/04/16 Python