使用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)
 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']

以上这篇使用python获取csv文本的某行或某列数据的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文章:

  • python如何读写csv数据
  • 使用Python对Csv文件操作实例代码
  • python处理csv数据的方法
  • python读取csv文件示例(python操作csv)
  • Python基于csv模块实现读取与写入csv数据的方法
(0)

相关推荐

  • python如何读写csv数据

    本文实例为大家分享了python读写csv数据的具体代码,供大家参考,具体内容如下 案例: 通过股票网站,我们获取了中国股市数据集,它以csv数据格式存储 Data,Open,High,Low,Close,Volume,Adj Close 2016-06-28,8.63,8.47,8.66,8.70,500000,8.70 2016-06-28,8.63,8.47,8.66,8.70,500000,8.70 2016-06-28,8.63,8.47,8.66,8.70,500000,8.70 .

  • python读取csv文件示例(python操作csv)

    复制代码 代码如下: import csvfor line in open("test.csv"):name,age,birthday = line.split(",")name = name.strip(' \t\r\n');age = age.strip(' \t\r\n');birthday = birthday.strip(' \t\r\n'); print (name + '\t' + age + '\t' + birthday) csv文件 复制代码 代

  • python处理csv数据的方法

    本文实例讲述了python处理csv数据的方法.分享给大家供大家参考.具体如下: Python代码: 复制代码 代码如下: #coding=utf-8 __author__ = 'dehua.li' from datetime import * import datetime import csv import sys import time import string import os import os.path import pylab as plt rootdir='/nethome/

  • Python基于csv模块实现读取与写入csv数据的方法

    本文实例讲述了Python基于csv模块实现读取与写入csv数据的方法.分享给大家供大家参考,具体如下: 通过csv模块可以轻松读取格式为csv的文件,而且csv模块是python内置的,不需要下载就可以直接用. 一.准备csv文件 文件名是 e:\t.csv,文件内容: org_id,org_name,state,emp_id 1,销售1,'1',123 2,销售2,'0',321 3,销售3,'1',231 1,,'1',1234 二.读取csv数据 代码非常简单: # -*- coding

  • 使用Python对Csv文件操作实例代码

    csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格: 就可以存储为csv文件,文件内容是: No.,Name,Age,Score 1,mayi,18,99 2,jack,21,89 3,tom,25,95 4,rain,19,80 假设上述csv文件保存为"test.csv" 1.读文件 如何用Python像操作Excel一样提取其中的一列,即一个字段,利用Python自带的csv模块,有两种方法可以实现: 第一种方法使用read

  • 使用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一样提取其中的一列,即一个字段,利用Pyt

  • python统计一个文本中重复行数的方法

    本文实例讲述了python统计一个文本中重复行数的方法.分享给大家供大家参考.具体实现方法如下: 比如有下面一个文件 2 3 1 2 我们期望得到 2,2 3,1 1,1 解决问题的思路: 出现的文本作为key, 出现的数目作为value,然后按照value排除后输出 最好按照value从大到小输出出来,可以参照: 复制代码 代码如下: in recent Python 2.7, we have new OrderedDict type, which remembers the order in

  • python 获取sqlite3数据库的表名和表字段名的实例

    Python中对sqlite3数据库进行操作时,经常需要用到字段名,然而对于sqlite使用select语句并不能象MySql等数据库一样返回带字段名的字典数据集.特别是对于一个不熟悉的sqlite数据库,写代码时如果需要借助工具查看,那其实是有点对不起python的. 下面两段代码就可以轻易获得一个sqlite数据库中所有数据表名和字段名的列表: # python 获取sqlite3数据库mydb.db中的表名和表字段名 import sqlite3 conn=sqlite3.connect(

  • python统计多维数组的行数和列数实例

    python菜鸟,每天都要进步一点点. 二维元组的例子: A = ((1, 1, 1), (1, 1, 1),(1, 1, 1),(0, 0, 0)) print len(A) # 4, print len(A[0]) # 3 同样的如果是多维,每一维长度应该是 len(A[i]) 以上这篇python统计多维数组的行数和列数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • C#中获取二维数组的行数和列数以及多维数组各个维度的长度

    如何获取二维数组中的元素个数呢? int[,] array = new int[,] {{1,2,3},{4,5,6},{7,8,9}};//定义一个3行3列的二维数组 int row = array.Rank;//获取维数,这里指行数 int col = array.GetLength(1);//获取指定维度中的元素个数,这里也就是列数了.(0是第一维,1表示的是第二维) int col = array.GetUpperBound(0)+1;//获取指定维度的索引上限,在加上一个1就是总数,这

  • python读取txt文件并取其某一列数据的示例

    菜鸟笔记 首先读取的txt文件如下: AAAAF110 0003E818 0003E1FC 0003E770 0003FFFC 90 AAAAF110 0003E824 0003E208 0003E76C 0003FFFC A5 AAAAF110 0003E814 0003E204 0003E760 0003FFFC 85 AAAAF110 0003E7F0 0003E208 0003E764 0003FFFC 68 AAAAF110 0003E7CC 0003E1FC 0003E758 000

  • python爬虫实现爬取同一个网站的多页数据的实例讲解

    对于一个网站的图片.文字音视频等,如果我们一个个的下载,不仅浪费时间,而且很容易出错.Python爬虫帮助我们获取需要的数据,这个数据是可以快速批量的获取.本文小编带领大家通过python爬虫获取获取总页数并更改url的方法,实现爬取同一个网站的多页数据. 一.爬虫的目的 从网上获取对你有需要的数据 二.爬虫过程 1.获取url(网址). 2.发出请求,获得响应. 3.提取数据. 4.保存数据. 三.爬虫功能 可以快速批量的获取想要的数据,不用手动的一个个下载(图片.文字音视频等) 四.使用py

  • Yii遍历行下每列数据的方法

    本文实例讲述了Yii遍历行下每列数据的方法.分享给大家供大家参考,具体如下: 效果图如下: 控制器(1种): //显示列表 public function actionList() { //实例化对象 $model= new Qiu(); $country = \Yii::$app->db; //查询数据 $data = $country->createCommand("select * from qiu join region on qiu.region_id=region.reg

  • pandas删除某行或某列数据的实现示例

    目录 1.drop()函数 2.del函数 首先,创建一个DataFrame格式数据作为举例数据. # 创建一个DataFrame格式数据 data = {'a': ['a0', 'a1', 'a2'], 'b': ['b0', 'b1', 'b2'], 'c': [i for i in range(3)], 'd': 4} df = pd.DataFrame(data) print('举例数据情况:\n', df) 注:DataFrame是最常用的pandas对象,使用pandas读取数据文件

  • 教你用Python读取CSV文件的5种方式

    目录 第一招:简单的读取 第二招:用nametuple 第三招:用tuple类型转换 第四招:用DictReader 第五招:用字典转换 典型的数据集stocks.csv: 一个股票的数据集,其实就是常见的表格数据.有股票代码,价格,日期,时间,价格变动和成交量.这个数据集其实就是一个表格数据,有自己的头部和身体. 第一招:简单的读取 我们先来看一种简单读取方法,先用csv.reader()函数读取文件的句柄f生成一个csv的句柄,其实就是一个迭代器,我们看一下这个reader的源码: 喂给re

随机推荐