使用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简单定义与使用字典dict的方法示例
Jul 25 Python
python中numpy包使用教程之数组和相关操作详解
Jul 30 Python
python机器学习理论与实战(一)K近邻法
Jan 28 Python
Python OpenCV实现图片上输出中文
Jan 22 Python
Python3多线程基础知识点
Feb 19 Python
使用python获取(宜宾市地震信息)地震信息
Jun 20 Python
django中SMTP发送邮件配置详解
Jul 19 Python
python中的&&及||的实现示例
Aug 07 Python
python多维数组分位数的求取方式
Mar 03 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
Jun 04 Python
Python机器学习之KNN近邻算法
May 14 Python
基于Pygame实现简单的贪吃蛇游戏
Dec 06 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
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
2013/07/01 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
PHP正则验证Email的方法
2015/06/15 PHP
php导出中文内容excel文件类实例
2015/07/06 PHP
PHP模板引擎Smarty内置变量调解器用法详解
2016/04/11 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
jquery实现树形二级菜单实例代码
2013/11/20 Javascript
JS记录用户登录次数实现代码
2014/01/15 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
浅谈JS的基础类型与引用类型
2016/09/13 Javascript
vue图片加载与显示默认图片实例代码
2017/03/16 Javascript
微信小程序网络请求封装示例
2018/07/24 Javascript
node.js读取Excel数据(下载图片)的方法示例
2018/08/02 Javascript
JS对象和字符串之间互换操作实例分析
2019/02/02 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
JavaScript 实现自己的安卓手机自动化工具脚本(推荐)
2020/05/13 Javascript
浅谈Python实现贪心算法与活动安排问题
2017/12/19 Python
Python将多个excel表格合并为一个表格
2021/02/22 Python
Python快速查找list中相同部分的方法
2018/06/27 Python
Python 普通最小二乘法(OLS)进行多项式拟合的方法
2018/12/29 Python
python输出电脑上所有的串口名的方法
2019/07/02 Python
使用Python爬虫库requests发送表单数据和JSON数据
2020/01/25 Python
python性能测试工具locust的使用
2020/12/28 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
2021/02/02 Python
shell的种类有哪些
2015/04/15 面试题
电子商务个人自荐信
2013/12/12 职场文书
行政部总经理岗位职责
2014/01/04 职场文书
党校培训自我鉴定范文
2014/03/20 职场文书
《小动物过冬》教学反思
2014/04/17 职场文书
车辆工程专业求职信
2014/06/14 职场文书
教师纪念9.18事件演讲稿范文
2014/09/14 职场文书
学习与创新自我评价
2015/03/09 职场文书
推销搭讪开场白
2015/05/28 职场文书
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js