使用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)合并的方法
Sep 23 Python
python制作一个桌面便签软件
Aug 09 Python
Python自动化测试Eclipse+Pydev 搭建开发环境
Aug 15 Python
Python 文本文件内容批量抽取实例
Dec 10 Python
python,Django实现的淘宝客登录功能示例
Jun 12 Python
使用selenium和pyquery爬取京东商品列表过程解析
Aug 15 Python
pytorch中nn.Conv1d的用法详解
Dec 31 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
Jan 04 Python
pytorch之添加BN的实现
Jan 06 Python
Python基于正则表达式实现计算器功能
Jul 13 Python
python自动计算图像数据集的RGB均值
Jun 18 Python
解析python中的jsonpath 提取器
Jan 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
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
2011/07/03 PHP
PHP实现根据浏览器跳转不同语言页面代码
2013/08/02 PHP
检查用户名是否已在mysql中存在的php写法
2014/01/20 PHP
PHP利用imagick生成组合缩略图
2016/02/19 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
某人初学javascript的时候写的学习笔记
2010/12/30 Javascript
页面实时更新时间的JS实例代码
2013/12/18 Javascript
jQuery中trigger()方法用法实例
2015/01/19 Javascript
12行javascript代码绘制一个八卦图
2015/04/02 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
javascript中alert()与console.log()的区别
2015/08/26 Javascript
jquery原理以及学习技巧介绍
2015/11/11 Javascript
基于javascript实现九九乘法表
2016/03/27 Javascript
JavaScript 计算笛卡尔积实例详解
2016/12/02 Javascript
jQuery判断邮箱格式对错实例代码讲解
2017/04/12 jQuery
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
微信小程序使用scroll-view标签实现自动滑动到底部功能的实例代码
2018/11/09 Javascript
vue实现div拖拽互换位置
2020/07/29 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
javascript中call,apply,callee,caller用法实例分析
2019/07/24 Javascript
环形加载进度条封装(Vue插件版和原生js版)
2019/12/04 Javascript
node.js中fs文件系统模块的使用方法实例详解
2020/02/13 Javascript
jquery实现两个div中的元素相互拖动的方法分析
2020/04/05 jQuery
python解析xml文件操作实例
2014/10/05 Python
Python在图片中添加文字的两种方法
2017/04/29 Python
在python中logger setlevel没有生效的解决
2020/02/21 Python
Python爬虫抓取论坛关键字过程解析
2020/10/19 Python
Python request post上传文件常见要点
2020/11/20 Python
原装进口全世界:天猫国际
2016/08/03 全球购物
澳大利亚最受欢迎的超级商场每日优惠:Catch
2020/11/17 全球购物
应届实习生的自我评价范文
2014/01/05 职场文书
医院义诊活动总结
2014/07/04 职场文书
用Python爬取英雄联盟的皮肤详细示例
2021/12/06 Python
Python OpenCV超详细讲解基本功能
2022/04/02 Python
js 实现Material UI点击涟漪效果示例
2022/09/23 Javascript