站长用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的某行或某列数据相关推荐

  1. python 读出指定的行_【python】有规律的文本中读取指定的行

    最近在学习python,正好工作中遇到一个问题,正好拿来练练手. User 3%, System 16%, IOW 0%, IRQ 0% User 11 + Nice 0 + Sys 51 + Idl ...

  2. python读取csv求平均数_利用Python读取CSV文件并计算某一列的均值和方差

    近日需要对excel的csv文件进行处理,求取某银行历年股价的均值方差等一系列数据 文件的构成很简单,部分如下所示 总共有接近七千行数据,主要的工作就是将其中的股价数据提取出来,放入一个数组之中,然后 ...

  3. python读取oracle数据库性能_用python对oracle进行简单性能测试

    一.概述 dba在工作中避不开的两个问题,sql使用绑定变量到底会有多少的性能提升?数据库的审计功能如果打开对数据库的性能会产生多大的影响?最近恰好都碰到了,索性做个实验. sql使用绑定变量对性能的 ...

  4. 用dict读取和写入表格_用Python快速处理表格,让你快人一步两步三四部

    日常工作中表格处理时非常令人头疼的一个部分, 概念 CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本 格式,用以存储表 ...

  5. python加载csv文件去重_用python读写和处理csv文件

    读取 这里我们使用pandas包来读取csv文件,pandas处理csv文件十分方便,是我认为是目前最方便的读取方式. 首先安装pandas pip install pandas 安装好了之后我们读取 ...

  6. python如何实现办公自动化培训_基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)...

    1.CSV (1)写csv文件 import csv def writecsv(path,data): with open(path, "w") as f: writer = cs ...

  7. python查找字符串所在行_使用Python CSV和glob查找匹配的字符串和打印行

    我有数百个csv文件,我正在尝试编写一个python脚本,它将解析所有这些文件并打印出具有匹配字符串的行.如果我们能用一个字符串(而不是一个字符串列表)来实现这一点,我会很高兴的.使用python 2 ...

  8. python将csv文件拆分_在python中将一个csv拆分为多个文件

    我在python中有一个约5000行的csv文件,我想将其拆分为五个文件. 我为此写了一个代码,但是没有用 import codecs import csv NO_OF_LINES_PER_FILE ...

  9. python将argv作为参数_在jupyter / ipython notebook中将命令行参数传递给argv

    经过大量的环顾后,我发现了非常繁琐的自定义库,但是用几行代码解决了它,我认为这些代码很漂亮.我使用nbconvert最终得到一个html报告作为输出,包含笔记本中的所有图形和降价,但是通过最小的pyt ...

最新文章

  1. 【微服务架构】SpringCloud之断路器(hystrix)
  2. CF626E. Simple Skewness
  3. vim命令杂烩(复制粘贴、建文件、撤销等)
  4. 现在学生物出路真有那么不济吗?
  5. Yii框架官方指南系列42——专题:验证和授权(Authentication and Authori
  6. cdrx4自动排版步骤_教你用CorelDRAW X4轻松排出干净整齐段落
  7. 为什么有了二叉搜索树和二叉平衡树之后还需要红黑树?
  8. React 混合中英文计算字符长度
  9. 【MyBatis基础】(09)- 逆向工程(代码自动生成)
  10. 什么是DNS?为什么选择UDP?详细的DNS解析过程?
  11. OpenSees二次开发实例01
  12. 天啦撸,联合开发网竟然倒闭了!!!(分享一个非常牛的人工智能教程!!!)
  13. 似然函数(likehood)和概率分布(probability)
  14. 企业信息安全类证书有哪些?
  15. LightOJ 1038
  16. Jetpack Compose - Modifier入门篇
  17. java计算机毕业设计会议查询系统源程序+mysql+系统+lw文档+远程调试
  18. vue中svg转png下载
  19. 我的世界java边境之地_我的世界边境之地是什么 我的世界边境之地介绍
  20. 函数参数缺省值/默认值

热门文章

  1. 网络通信协议-TCP/IP模型实战
  2. 神武4手游服务器维护,神武4手游 本周新手服限服开启 !
  3. java 多线程的单例模式,Java多线程中的单例模式两种实现方式
  4. html打开显示脚本错误,IE浏览器显示脚本错误怎么解决?IE浏览器脚本错误解决方法图文教程介绍...
  5. 浪潮as5300技术方案_浪潮智能存储AS5300G2双活解决方案
  6. 1061 判断题(PAT乙级 C++)
  7. 485通讯转换器产品功能特点介绍
  8. rs-485光端机的使用你真的清楚吗?
  9. 【渝粤教育】国家开放大学2018年秋季 0107-21T现代货币金融学 参考试题
  10. [渝粤教育] 西南科技大学 高速公路 在线考试复习资料