CSV 本质上是文本文件,能提供与 Excel 的表格类似的二维数据结构。因为是文本文件,读写都比 Excel 方便容易的多,经常拿来作为数据的中转格式。本文讨论如何快速有效的按列读取 CSV 文件。

假设“A.csv“文件内容是:

No.,Name,Age,Score

1,Apple,12,98

2,Ben,13,97

3,Celia,14,96

4,Dave,15,95

用 Excel 打开这个 csv, 看起来是这样的:

利用Python自带的 csv 模块 ,有两种方法可以提取其中的一列:

方法一 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)

column = [row[2] for row in reader]

print column

得到:

['Age', '12', '13', '14', '15']

注意从csv读出的都是str类型。这种方法要事先知道列的序号,比如Age在第2列,而不能根据’Age’这个标题查询。所以,这种方法适合读取记录,而不适合按列的方向读取csv文件。这时可以采用第二种方法,即DictReader:

方法二 DictReader

第二种方法是使用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 读取csv的某列相关推荐

  1. python csv数据处理生成图_Python 读取CSV文件数据并生成可视化图形

    CSV 文件数据读取并生成图形 CSV 文件格式 在文本文件中存储数据,最简单的方式就是将数据按照一定的格式存放在文件中,在读取文件时根据设计好的格式去将对应数据读取出来,这样就能很方便的进行简单数据 ...

  2. python读取csv文件路径设置_python读取csv文件

    1 importcsv2 tsvfile = open('any_different_file/excel2.tsv','rt')3 readers =csv.reader(tsvfile)4 for ...

  3. python读取文件夹下所有图片_python 读取单文件夹中的图片文件信息保存到csv文件中...

    # -*- coding: utf-8 -*- # @Time : 2019-09-17 10:21 # @Author : scyllake import os import csv #要读取的文件 ...

  4. python读取两个csv文件后比较_python – 读取两个csv文件并比较每一行.如果行匹配打印两行,如果不相似则打印无效...

    import csv f1 = open("file1.csv") f2 = open("file2.csv") csv_f1 = csv.reader(f1) ...

  5. python dialect='excel'是什么意思_python读取和生成excel文件

    今天来看一下如何使用python处理excel文件,处理excel文件是在工作中经常用到的,python为我们考虑到了这一点,python中本身就自带csv模块... 今天来看一下如何使用python ...

  6. python读取excel内容和写入_Python读取和写入Excel文件

    制作Excel表 常用方法说明 Workbook类 Workbook类创建一个XlswWrite的Workbook对象,相当于创建一个excel表 And_worksheet()用来创建工作表,默认为 ...

  7. python读取配置文件存在某配置_Python读取ini配置文件的方式

    ConfigParser模块在python中用来读取配置文件,配置文件的格式跟windows下的ini配置文件相似,可以包含一个或多个节(section), 每个节可以有多个参数(键=值).使用的配置 ...

  8. python生成csv文件带水印_Python从CSV文件导入数据和生成简单图表

    我们已经完成Python的基础环境搭建工作,现在我们尝试导入CSV数据 我们准备一个csv测试数据,文件名是csv-test-data.csv数据. 我们将文件传到Linux上 准备导入的代码 我们运 ...

  9. python为csv文件添加表头_python读csv文件时指定行为表头或无表头的方法

    python读csv文件时指定行为表头或无表头的方法 pd.read_csv()方法中header参数,默认为0,标签为0(即第1行)的行为表头.若设置为-1,则无表头.示例如下: (1)不设置hea ...

  10. python利用表格中的某一个列_python取excel表格第一列数据?python操作excel,使用xlrd模块,获取某一列数据的语句为...

    用Python修改excel中一列数据 可以使用pandas库,先读取excel文件,然后使用pandas库来修改一列,然后写入文件即可. 怎样用python,读取excel中的一列数据 sheet. ...

最新文章

  1. ABAP的子程序参数注意点
  2. 解析java源代码_一步步解析java执行内幕
  3. yarn 安装 sass
  4. Linux 重启网卡
  5. Oracle的where子句
  6. 数据结构笔记(十四)-- 串的模式匹配算法
  7. Latex语法学习///待更新
  8. Hexo博客向百度提交链接
  9. 数商云制药医药供应链erp管理系统解决方案
  10. Flutter 混合开发
  11. python小欢喜(二)神奇的小海龟(1) 绕圈子把自己都绕晕了
  12. in comment after two dashes (--) next character must be > not (position: START_TAG seen ...
  13. php socket 模拟post,用PHP的Socket编程模拟Post来提交数据 | 学步园
  14. html5建站软件工具有哪些
  15. latex 参考文献显示问号_如何自学latex软件
  16. matlab中的bsxfun
  17. Python+selenium之下载文件
  18. 78. 子集(区分一下子集、子序列、子数组的概念)
  19. tensorflow streaming_recall@kprecision@k与sklearn的区别
  20. MarkDown文本首行怎么缩进?

热门文章

  1. vxWorks6.6下基于vxBus的以太网驱动开发
  2. 数据结构考研复习 | Fibonacci数列的递归、数组、迭代(循环)实现及其时间复杂度
  3. [openEuler 21.9] 安装中文输入法、以及字体变成繁体切换
  4. 支付宝运营10元花呗红包活动被薅羊毛了
  5. 快速提升网站排名_使用快排优化的方法
  6. 仿爱乐透android客户端界面实现(附工程源码)
  7. 镁客网每周硬科技领域投融资汇总(3.24-3.30),FF喜提新救主...
  8. 史上最全量化交易资源整理
  9. 2021年危险化学品经营单位安全管理人员考试内容及危险化学品经营单位安全管理人员考试试卷
  10. 厦大计算机科学系培养方案,厦门大学计算机科学系本科生课程方案.doc