使用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 条件判断的缩写方法
Sep 06 Python
Django 添加静态文件的两种实现方法(必看篇)
Jul 14 Python
在python3环境下的Django中使用MySQL数据库的实例
Aug 29 Python
Python处理文本换行符实例代码
Feb 03 Python
Python 查找字符在字符串中的位置实例
May 02 Python
python实现雨滴下落到地面效果
Jun 21 Python
Python实现FTP弱口令扫描器的方法示例
Jan 31 Python
python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比
Apr 15 Python
如何使用Python实现斐波那契数列
Jul 02 Python
Python数据类型之列表和元组的方法实例详解
Jul 08 Python
pytorch实现特殊的Module--Sqeuential三种写法
Jan 15 Python
python3中编码获取网页的实例方法
Nov 16 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
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
Php部分常见问题总结
2006/10/09 PHP
服务器端解压缩zip的脚本
2006/12/22 PHP
php使用curl发送json格式数据实例
2013/12/17 PHP
Yii2数据库操作常用方法小结
2017/05/04 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
2017/07/04 PHP
PHP连续签到功能实现方法详解
2019/12/04 PHP
javascript按位非运算符的使用方法
2013/11/14 Javascript
Node.js模拟浏览器文件上传示例
2014/03/26 Javascript
关闭页面window.location事件未执行的原因及解决方法
2014/09/01 Javascript
jQuery实现带滚动线条导航效果的方法
2015/01/30 Javascript
详解javascript中原始数据类型Null和Undefined
2015/12/17 Javascript
判断JS对象是否拥有某属性的方法推荐
2016/05/12 Javascript
jQuery easyUI datagrid 增加求和统计行的实现代码
2016/06/01 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
vue.js使用3DES加密的方法示例
2018/05/18 Javascript
简述JS控制台的使用
2018/07/15 Javascript
JS实现计算小于非负数n的素数的数量算法示例
2019/02/26 Javascript
python编程开发之textwrap文本样式处理技巧
2015/11/13 Python
一些常用的Python爬虫技巧汇总
2016/09/28 Python
python tensorflow学习之识别单张图片的实现的示例
2018/02/09 Python
python 堆和优先队列的使用详解
2019/03/05 Python
python函数中将变量名转换成字符串实例
2020/05/11 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
StubHub智利:购买和出售您的门票
2016/11/23 全球购物
REN Clean Skincare官网:英国本土有机护肤品牌
2019/02/23 全球购物
升旗仪式主持词
2014/03/19 职场文书
承诺书格式
2014/06/03 职场文书
工商管理自荐书
2014/07/06 职场文书
个人作风建设总结
2014/10/23 职场文书
初中班主任工作总结2015
2015/05/13 职场文书
宇宙与人观后感
2015/06/05 职场文书
2016年优秀团员事迹材料
2016/02/25 职场文书
详解Vue的列表渲染
2021/11/20 Vue.js
springboot中的pom文件 project报错问题
2022/01/18 Java/Android