python读取csv某些行_【Python】Python 读取csv的某行或某列数据
站长用Python写了一个可以提取csv任一列的代码,欢迎使用。
Github链接
csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格:
就可以存储为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)
for i,rows in enumerate(reader):
if i == 2:
row = rows
print row得到:
['2', 'Ben', '13', '97']这种方法是通用的方法,要事先知道行号,比如Ben的记录在第2行,而不能根据'Ben'这个名字查询。这时可以采用第二种方法:
第二种方法是使用DictReader,和reader函数类似,接收一个可迭代的对象,能返回一个生成器,但是返回的每一个单元格都放在一个字典的值内,而这个字典的键则是这个单元格的标题(即列头)。用下面的代码可以看到DictReader的结构:
import csv
with open('A.csv','rb') as csvfile:
reader = csv.DictReader(csvfile)
rows = [row for row in reader]
print rows得到:
[{'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)
for row in reader:
if row['Name']=='Ben':
print row就得到:
{'Age': '13', 'No.': '2', 'Score': '97', 'Name': 'Ben'}可见,DictReader很适合读取csv的的行(记录)。
python读取csv某些行_【Python】Python 读取csv的某行或某列数据相关推荐
- python 读出指定的行_【python】有规律的文本中读取指定的行
最近在学习python,正好工作中遇到一个问题,正好拿来练练手. User 3%, System 16%, IOW 0%, IRQ 0% User 11 + Nice 0 + Sys 51 + Idl ...
- python读取csv求平均数_利用Python读取CSV文件并计算某一列的均值和方差
近日需要对excel的csv文件进行处理,求取某银行历年股价的均值方差等一系列数据 文件的构成很简单,部分如下所示 总共有接近七千行数据,主要的工作就是将其中的股价数据提取出来,放入一个数组之中,然后 ...
- python读取oracle数据库性能_用python对oracle进行简单性能测试
一.概述 dba在工作中避不开的两个问题,sql使用绑定变量到底会有多少的性能提升?数据库的审计功能如果打开对数据库的性能会产生多大的影响?最近恰好都碰到了,索性做个实验. sql使用绑定变量对性能的 ...
- 用dict读取和写入表格_用Python快速处理表格,让你快人一步两步三四部
日常工作中表格处理时非常令人头疼的一个部分, 概念 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本 格式,用以存储表 ...
- python加载csv文件去重_用python读写和处理csv文件
读取 这里我们使用pandas包来读取csv文件,pandas处理csv文件十分方便,是我认为是目前最方便的读取方式. 首先安装pandas pip install pandas 安装好了之后我们读取 ...
- python如何实现办公自动化培训_基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)...
1.CSV (1)写csv文件 import csv def writecsv(path,data): with open(path, "w") as f: writer = cs ...
- python查找字符串所在行_使用Python CSV和glob查找匹配的字符串和打印行
我有数百个csv文件,我正在尝试编写一个python脚本,它将解析所有这些文件并打印出具有匹配字符串的行.如果我们能用一个字符串(而不是一个字符串列表)来实现这一点,我会很高兴的.使用python 2 ...
- python将csv文件拆分_在python中将一个csv拆分为多个文件
我在python中有一个约5000行的csv文件,我想将其拆分为五个文件. 我为此写了一个代码,但是没有用 import codecs import csv NO_OF_LINES_PER_FILE ...
- python将argv作为参数_在jupyter / ipython notebook中将命令行参数传递给argv
经过大量的环顾后,我发现了非常繁琐的自定义库,但是用几行代码解决了它,我认为这些代码很漂亮.我使用nbconvert最终得到一个html报告作为输出,包含笔记本中的所有图形和降价,但是通过最小的pyt ...
最新文章
- 【微服务架构】SpringCloud之断路器(hystrix)
- CF626E. Simple Skewness
- vim命令杂烩(复制粘贴、建文件、撤销等)
- 现在学生物出路真有那么不济吗?
- Yii框架官方指南系列42——专题:验证和授权(Authentication and Authori
- cdrx4自动排版步骤_教你用CorelDRAW X4轻松排出干净整齐段落
- 为什么有了二叉搜索树和二叉平衡树之后还需要红黑树?
- React 混合中英文计算字符长度
- 【MyBatis基础】(09)- 逆向工程(代码自动生成)
- 什么是DNS?为什么选择UDP?详细的DNS解析过程?
- OpenSees二次开发实例01
- 天啦撸,联合开发网竟然倒闭了!!!(分享一个非常牛的人工智能教程!!!)
- 似然函数(likehood)和概率分布(probability)
- 企业信息安全类证书有哪些?
- LightOJ 1038
- Jetpack Compose - Modifier入门篇
- java计算机毕业设计会议查询系统源程序+mysql+系统+lw文档+远程调试
- vue中svg转png下载
- 我的世界java边境之地_我的世界边境之地是什么 我的世界边境之地介绍
- 函数参数缺省值/默认值
热门文章
- 网络通信协议-TCP/IP模型实战
- 神武4手游服务器维护,神武4手游 本周新手服限服开启 !
- java 多线程的单例模式,Java多线程中的单例模式两种实现方式
- html打开显示脚本错误,IE浏览器显示脚本错误怎么解决?IE浏览器脚本错误解决方法图文教程介绍...
- 浪潮as5300技术方案_浪潮智能存储AS5300G2双活解决方案
- 1061 判断题(PAT乙级 C++)
- 485通讯转换器产品功能特点介绍
- rs-485光端机的使用你真的清楚吗?
- 【渝粤教育】国家开放大学2018年秋季 0107-21T现代货币金融学 参考试题
- [渝粤教育] 西南科技大学 高速公路 在线考试复习资料