怎么用python读取csv文件、并且是读取行-python读取csv文件指定行的2种方法详解...
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模块,有2种方法可以实现:
方法一:reader
第一种方法使用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
第二种方法是使用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读取csv文件指定行的2种方法详解...相关推荐
- python输入字符串并反序result_python字符串反转的四种方法详解
python字符串反转的四种方法详解 这篇文章主要介绍了python字符串反转的四种详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.用red ...
- 站长在线Python精讲:在Python中格式化字符串的两种方法详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中格式化字符串的两种方法详解>.本知识点主要内容有:使用%操作符格式化字符串和使用format()方法格式化字 ...
- python 命令-python解析命令行参数的三种方法详解
这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python解析命令行参数主要有三种方法: ...
- python process 函数_Python Process创建进程的2种方法详解
前面介绍了使用 os.fork() 函数实现多进程编程,该方法最明显的缺陷就是不适用于 Windows 系统.本节将介绍一种支持 Python 在 Windows 平台上创建新进程的方法. Pytho ...
- python截图黑屏_对Python获取屏幕截图的4种方法详解
Python获取电脑截图有多种方式,具体如下: PIL中的ImageGrab模块 windows API PyQt pyautogui PIL中的ImageGrab模块 import time imp ...
- python读取csv文件的方法-python读取csv文件指定行的2种方法详解
csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格 就可以存储为csv文件,文件内容是: No.,Name,Age,Score 1,Apple, ...
- python安装模块3种方法详解
方法1.pip # 安装最新版本 pip install pymysql# 安装指定版本 pip install pymysql==xxx 如果使用pip命令安装失败,使用下面两个方法 方法2.下载w ...
- python中如何创建一个空列表_Python创建空列表的字典2种方法详解
如果要在 Python 中创建键值是空列表的字典,有多种方法,但是各种方法之间是否由区别?需要作实验验证,并且分析产生的原因.本文针对两种方法做了实验和分析. 如果要在 Python 中创建一个键值都 ...
- python创建空字典什么意思_Python创建空列表的字典2种方法详解
如果要在 Python 中创建键值是空列表的字典,有多种方法,但是各种方法之间是否由区别?需要作实验验证,并且分析产生的原因.本文针对两种方法做了实验和分析. 如果要在 Python 中创建一个键值都 ...
最新文章
- 锁定计算机后等于睡眠吗,如何防止计算机自动进入睡眠和/或休眠状态?
- UI设计要学哪些软件
- 解决Ubuntu16.04视频编码出现Unknown encoder 'libx264'问题
- 【Android 应用开发】Google 官方 EasyPermissions 权限申请库 ( 权限申请原理对话框操作回调接口 | 永久拒绝权限后引导设用户置权限 )
- sqlserver生成脚本
- git pull提示remote error:CAPTCHA required
- 随想录(字节序和位序)
- “拯救网站运维经理赵明”已近尾声
- Spring 多线程下注入 bean 问题详解
- ubuntu18.04 init setting
- PLSQL Developer+instantclient连接Oracle
- java jmail_jmail和javamail的区别
- T-test检验中的P,α理解
- 【未完成】7-7 新浪微博热门话题 (30 分)
- Linux下获取Root权限的方法
- 光之盟:从ONA的握手,解锁全光网产业未来
- failed to push some refs to 'git@github.com怎么办
- IT职场法则七条——献给正在努力奋斗的你们
- 大一新生必会的c语言五子棋!PVP,PVE,EVE模式都有,还有智能的AI部分,复盘等内容!一看就会的五子棋教程,确定不来看看吗?
- [代码审计]Weiphp5.0 前台文件任意读取分析
热门文章
- 博途v15安装过程中提示出错_博途V15.1对应的V90 HSP和GSD文件安装
- python 怕网页_他文献查到凌晨两点,我用Python十分钟搞定!
- python爬取资料_Python爬取FLASH播放器中的资料
- openssl/ssl.h file not found mac 完美解决
- MongoDB Wiredtiger存储引擎实现原理——Copy on write的方式管理修改操作,Btree cache...
- 内存数据库MemSQL ——基于内存,MVCC+哈希表、跳表
- SQLServer查询死锁
- pytest_01-环境准备与入门
- Anaconda+用conda创建python虚拟环境
- 玩.采草莓_2018