使用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 2.6.6升级到python 2.7.x版本的方法
Oct 09 Python
Python设计模式之MVC模式简单示例
Jan 10 Python
深入了解Django中间件及其方法
Jul 26 Python
基于python的docx模块处理word和WPS的docx格式文件方式
Feb 13 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
Feb 28 Python
Django跨域资源共享问题(推荐)
Mar 09 Python
使用Python实现批量ping操作方法
May 06 Python
Python内置函数及功能简介汇总
Oct 13 Python
用Python进行websocket接口测试
Oct 16 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
Jan 05 Python
PyCharm2020.3.2安装超详细教程
Feb 08 Python
python绘制简单直方图(质量分布图)的方法
Apr 21 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
定制404错误页面,并发信给管理员的程序
2006/10/09 PHP
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
php 常用算法和时间复杂度
2013/07/01 PHP
PHP函数之日期时间函数date()使用详解
2013/09/09 PHP
destoon之一键登录设置
2014/06/21 PHP
php实现屏蔽掉黑帽SEO的搜索关键字
2015/04/15 PHP
PHP中模拟链表和链表的基本操作示例
2016/02/27 PHP
PHP+Ajax实现验证码的实时验证
2016/07/20 PHP
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
javascript实现依次输入input自动定焦
2014/12/23 Javascript
javascript实现字符串反转的方法
2015/02/05 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
JavaScript中的splice方法用法详解
2016/07/20 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
2017/04/20 Javascript
微信小程序 本地数据读取实例
2017/04/27 Javascript
微信小程序实现折叠与展开文章功能
2018/06/12 Javascript
JavaScript监听键盘事件代码实现
2020/06/03 Javascript
vue项目页面嵌入代码块vue-prism-editor的实现
2020/10/30 Javascript
使用Python编写一个在Linux下实现截图分享的脚本的教程
2015/04/24 Python
Python正则获取、过滤或者替换HTML标签的方法
2016/01/28 Python
一步步教你用Python实现2048小游戏
2017/01/19 Python
python实现折半查找和归并排序算法
2017/04/14 Python
使用Python搭建虚拟环境的配置方法
2018/02/28 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
实例讲解Python脚本成为Windows中运行的exe文件
2019/01/24 Python
Python嵌套式数据结构实例浅析
2019/03/05 Python
PyTorch和Keras计算模型参数的例子
2020/01/02 Python
python的sys.path模块路径添加方式
2020/03/09 Python
Sephora丝芙兰澳洲官方网站:国际知名化妆品购物
2016/10/27 全球购物
英国卫浴商店:Ergonomic Design
2019/09/22 全球购物
叙述DBMS对数据控制功能有哪些
2016/06/12 面试题
农贸市场管理制度
2014/01/31 职场文书
运动会致辞稿50字
2014/02/04 职场文书
酒店辞职书范文
2015/02/26 职场文书
工作自我推荐信范文
2015/03/25 职场文书
导游词之安徽九华山
2019/09/18 职场文书