博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 读取csv的某列
阅读量:4287 次
发布时间:2019-05-27

本文共 1388 字,大约阅读时间需要 4 分钟。

3,Celia,14,96
4,Dave,15,95
假设上述csv文件保存为"A.csv",如何用Python像操作Excel一样提取其中的一列,即一个字段,利用Python自带的,有两种方法可以实现:
第一种方法使用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']

转载地址:http://oaxgi.baihongyu.com/

你可能感兴趣的文章
iOS 绘图Quartz2D的内存管理
查看>>
iOS 绘图Quartz2DQ绘制图片和文字
查看>>
iOS 绘图Quartz2d图片裁剪/加水印/截屏
查看>>
iOS touch事件的多点触控案例和获取touch的属性
查看>>
iOS ARC内存管理/strong weak copy assign 的用法与区别(一)
查看>>
iOS NSthread多线程的应用原理与总结
查看>>
iOS GCD多线程的使用
查看>>
iOS NSOperation多线程的使用与理解
查看>>
iOS之屏幕旋转调用的方法
查看>>
iOS之中打电话/发短息/发邮件/吊起QQ聊天的方法总结
查看>>
iOS之UIImageView和UIImage
查看>>
iOS OC原生的输入输出流结合socket实现即时通讯
查看>>
iOS AsynSocket实现即时通讯
查看>>
iOS VFL语言
查看>>
iOS UIPopoverController以及iOS9以后UIPopPresentationController的使用、封装到分类中
查看>>
宏定义
查看>>
OC中字符串的操作
查看>>
ios之NSFileManager文件操作
查看>>
iOS NSThread多线程枷锁
查看>>
ios/OC之调用系统相机录像、拍照、打开相册
查看>>