使用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 相关文章推荐
使用django-suit为django 1.7 admin后台添加模板
Nov 18 Python
python常规方法实现数组的全排列
Mar 17 Python
两个使用Python脚本操作文件的小示例分享
Aug 27 Python
Python实现冒泡排序的简单应用示例
Dec 11 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
Dec 12 Python
PyQt5+requests实现车票查询工具
Jan 21 Python
pandas对dataFrame中某一个列的数据进行处理的方法
Jul 08 Python
查看Python依赖包及其版本号信息的方法
Aug 13 Python
Django Docker容器化部署之Django-Docker本地部署
Oct 09 Python
Python实现多线程下载脚本的示例代码
Apr 03 Python
python如何使用腾讯云发送短信
Sep 17 Python
python numpy中multiply与*及matul 的区别说明
May 26 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 DOS攻击实现代码(附如何防范)
2012/05/29 PHP
php 判断是否是中文/英文/数字示例代码
2013/09/30 PHP
PHP实现批量检测网站是否能够正常打开的方法
2016/08/23 PHP
PHP中include/require/include_once/require_once使用心得
2016/08/28 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
解决laravel上传图片之后,目录有图片,但是访问不到(404)的问题
2019/10/14 PHP
js获取日期:昨天今天和明天、后天
2014/06/11 Javascript
WEB前端实现裁剪上传图片功能
2016/10/17 Javascript
javascript实现数字配对游戏的实例讲解
2017/12/14 Javascript
Node层模拟实现multipart表单的文件上传示例
2018/01/02 Javascript
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
逐行分析鸿蒙系统的 JavaScript 框架(推荐)
2020/09/17 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
Python的组合模式与责任链模式编程示例
2016/02/02 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
Python Cookie 读取和保存方法
2018/12/28 Python
Python的matplotlib绘图如何修改背景颜色的实现
2019/07/16 Python
python的sys.path模块路径添加方式
2020/03/09 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
2020/06/16 Python
python中常见错误及解决方法
2020/06/21 Python
python+appium+yaml移动端自动化测试框架实现详解
2020/11/24 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
详解如何用canvas画一个微笑的表情
2019/03/14 HTML / CSS
很酷的小工具和电子产品商城:GearBest
2016/11/19 全球购物
德国旅游网站:weg.de
2018/06/03 全球购物
彪马俄罗斯官网:PUMA俄罗斯
2019/07/13 全球购物
巴西箱包、背包、钱包和旅行配件购物网站:Inovathi
2019/12/14 全球购物
2014入党积极分子批评与自我批评思想汇报
2014/09/20 职场文书
行政前台岗位职责
2015/04/16 职场文书
2015年小学实验室工作总结
2015/07/28 职场文书
PyTorch dropout设置训练和测试模式的实现
2021/05/27 Python
总结Python变量的相关知识
2021/06/28 Python