精华内容
下载资源
问答
  • 站长用Python写了个可以提取csv任一列的代码,欢迎使用。Github链接csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格:就可以存储为csv文件文件内容是:No.,Name,Age,Score1...

    站长用Python写了一个可以提取csv任一列的代码,欢迎使用。Github链接

    csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格:

    1288.jpg

    就可以存储为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的的行(记录)。

    1、csv简介

    CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本

    格式,用以存储表格数据,包括数字或者字符。很多程序在处理数据时都会碰到csv这种格式的文件,它的使用是比

    较广泛的(Kaggle上一些题目提供的数据就是csv格式),csv虽然使用广泛,但却没有通用的标准,所以在处理csv

    格式时常常会碰到麻烦,幸好Python内置了csv模块。下面简单介绍csv模块中最常用的一些函数。

    2、csv模块中的函数

    reader(csvfile, dialect='excel', **fmtparams)

    参数说明:

    csvfile,必须是支持迭代(Iterator)的对象,可以是文件(file)对象或者列表(list)对象,如果是文件对

    象,打开时需要加"b"标志参数。

    dialect,编码风格,默认为excel的风格,也就是用逗号(,)分隔,dialect方式也支持自定义,通过调用register_dialect方法来注册,下文会提到。

    fmtparam,格式化参数,用来覆盖之前dialect对象指定的编码风格。

    import csv

    with open('test.csv','rb') as myFile:

    lines=csv.reader(myFile)

    for line in lines:

    print line

    'test.csv'是文件名,"rb’中的r表示"读”模式,因为是文件对象,所以加"b’。open()返回了一个文件对象

    myFile,reader(myFile)只传入了第一个参数,另外两个参数采用缺省值,即以excel风格读入。reader()返回一个

    reader对象lines,lines是一个list,当调用它的方法lines.next()时,会返回一个string。上面程序的效果是将csv

    文件中的文本按行打印,每一行的元素都是以逗号分隔符','分隔得来。

    在我的test.csv文件中,存储的数据如图:

    Center

    程序输出:

    ['1', '2']

    ['3', 'a']

    ['4', 'b']

    补充:reader对象还提供一些方法:line_num、dialect、next()

    writer(csvfile, dialect='excel', **fmtparams)

    参数的意义同上,这里不赘述,直接上例程:

    with open('t.csv','wb') as myFile:

    myWriter=csv.writer(myFile)

    myWriter.writerow([7,'g'])

    myWriter.writerow([8,'h'])

    myList=[[1,2,3],[4,5,6]]

    myWriter.writerows(myList)

    'w'表示写模式。

    首先open()函数打开当前路径下的名字为't.csv'的文件,如果不存在这个文件,则创建它,返回myFile文件对象。

    csv.writer(myFile)返回writer对象myWriter。

    writerow()方法是一行一行写入,writerows方法是一次写入多行。

    注意:如果文件't.csv'事先存在,调用writer函数会先清空原文件中的文本,再执行writerow/writerows方法。

    补充:除了writerow、writerows,writer对象还提供了其他一些方法:writeheader、dialect

    register_dialect(name, [dialect, ]**fmtparams)

    这个函数是用来自定义dialect的。

    参数说明:

    name,你所自定义的dialect的名字,比如默认的是'excel',你可以定义成'mydialect'

    [dialect, ]**fmtparams,dialect格式参数,有delimiter(分隔符,默认的就是逗号)、quotechar、

    csv.register_dialect('mydialect',delimiter='|', quoting=csv.QUOTE_ALL)

    上面一行程序自定义了一个命名为mydialect的dialect,参数只设置了delimiter和quoting这两个,其他的仍然采用

    默认值,其中以'|'为分隔符。接下来我们就可以像使用'excel'一样来使用'mydialect'了。我们来看看效果:

    在我test.csv中存储如下数据:

    Center

    以'mydialect'风格打印:

    with open('test.csv','rb') as myFile:

    lines=csv.reader(myFile,'mydialect')

    print lines.line_num

    for line in lines:

    print line

    输出:

    ['1,2', '3']

    ['4,5', '6']

    可以看到,现在是以'|'为分隔符,1和2合成了一个字符串(因为1和2之间的分隔符是逗号,而mydialect风格的分隔

    符是'|'),3单独一个字符串。

    对于writer()函数,同样可以传入mydialect作为参数,这里不赘述。

    unregister_dialect(name)

    这个函数用于注销自定义的dialect

    此外,csv模块还提供get_dialect(name)、list_dialects()、field_size_limit([new_limit])等函数,这些都比较

    简单,可以自己试试。比如list_dialects()函数会列出当前csv模块里所有的dialect:

    print csv.list_dialects()

    输出:

    ['excel-tab', 'excel', 'mydialect']

    'mydialect'是自定义的,'excel-tab', 'excel'都是自带的dialect,其中'excel-tab'跟'excel'差不多,

    只不过它以tab为分隔符。

    csv模块还定义了

    一些类:DictReader、DictWriter、Dialect等,DictReader和DictWriter类似于reader和writer。

    一些常量:QUOTE_ALL、QUOTE_MINIMAL、.QUOTE_NONNUMERIC等,这些常量可以作为Dialects and Formatting Parameters的值。

    先写到这,其他的以后用到再更新。

    展开全文
  • 读取csv文件,用的是csv.reader()这个方法。返回结果是一个_csv.reader的对象,我们可以对这个对象进行遍历,输出每一行某一行,或一列。代码如下: 1 import csv 2 with open('data.csv', 'r') as f: 3 reader ...

    在python里面,读取或写入csv文件时,首先要import csv这个库,然后利用这个库提供的方法进行对文件的读写。

    1、获取每一行

    读取csv文件,用的是csv.reader()这个方法。返回结果是一个_csv.reader的对象,我们可以对这个对象进行遍历,输出每一行,某一行,或某一列。代码如下:

    1 import csv
    2 with open('data.csv', 'r') as f:
    3     reader = csv.reader(f)
    4     print(type(reader))
    5    
    6     for row in reader:
    7         print(row)
    

    2、获取某一行

    如果你只想要其中的一行,可以先对reader进行一个类型转换,用list函数把它转换成列表,然后对对列表进行取元素,就可以获取到某一行的内容了,如下:

    1 import csv
    2 with open('data.csv', 'r') as f:
    3     reader = csv.reader(f)
    4     result = list(reader)
    5     print(result[1])
    这里,我们获取的是第二行的内容,与上面的第二行的内容相同。
    

    3、获取某一列

    如果想要获取到其中一列的内容,可以在第一种情况下,对输出加一个下标,这样输出的就是某一列的内容的。

    1 import csv
    2 with open('data.csv', 'r') as f:
    3     reader = csv.reader(f)
    4     for i in reader:
    5         print(i[0])
    
    展开全文
  • 主要介绍了python读取csv文件指定的方法详解,需要的朋友可以参考下
  • python读取csv文件某一列或几列

    万次阅读 2019-08-08 11:25:00
    python读取csv文件某一列或几列 import csvimport pandas as pdwith open('D:\Data\新建文件夹\list3.2.csv','r') as csvfile: reader = csv.reader(csvfile) column1 = [row[1]for row in reader] print...

    python读取csv文件的某一列或某几列

     
    import csv
    import pandas as pd

    with open('D:\Data\新建文件夹\list3.2.csv','r') as csvfile:
    reader = csv.reader(csvfile)
    column1 = [row[1]for row in reader]
    print(column1)


    # 下面是按照列属性读取的
    d = pd.read_csv('D:\Data\新建文件夹\list3.2.csv', usecols=['case', 'roi', 'eq. diam.','x loc.','y loc.','slice no.'])
    print(d)

    d = pd.read_csv('D:\Data\新建文件夹\list3.2.csv', usecols=['case', 'roi', 'eq. diam.','x loc.','y loc.','slice no.'],
    nrows=10)
    # 这是表示读取前10行

    转载于:https://www.cnblogs.com/valorchang/p/11320115.html

    展开全文
  • python读取csv文件

    2019-09-11 09:34:37
    Reader和DictReader方法读取csv文件python读取csv文件主要有Reader和DictReader两种方法,Reader按读取csv文件中的数据,DictReader以字典形式读取CSV文件中的数据。ReaderDictReader python读取csv文件主要有...

    Reader和DictReader方法读取csv文件

    python读取csv文件主要有Reader和DictReader两种方法,Reader按行读取csv文件中的数据,DictReader以字典形式读取CSV文件中的数据。

    一、Reader

    open函数"rb"参数读取二进制文件,所读文件为文本文件,将“rb”改为“rt”就OK了

    // An highlighted block
    files = open("D:/ce/aa.csv",'rt')
    #方法一:按行读取,返回的是一个迭代对象
    reader = csv.reader(files)
    for line in reader:
        print(line)
    #输出结果
    # ['表名', 'key']
    # ['hcm_t_hrp1000', 'objid+mandt+plvar+otype+cast(BEGDA as VARCHAR(100))'] 
    

    二、DictReader

    // An highlighted block
    files = open("D:/ce/aa.csv",'rt')
    Reader = csv.DictReader(files)
    for row in Reader:
        print(row)
    #输出结果
    #OrderedDict([('表名', 'hcm_t_hrp1000'), ('key','objid+mandt+plvar+otype+cast(BEGDA as VARCHAR(100))')])
        print(row['表名'],row['key'])
    #输出结果
    #hcm_t_pa0002 mandt+pernr+cast(BEGDA as VARCHAR(100))
    files.close()
    
    展开全文
  • Python 读取csv某行 转载 2016年08月30日 21:01:44 标签: python / csv / 数据 站长用Python写了个可以提取csv任一列的代码,欢迎使用。Github链接 csv是Comma-Separated Values的缩写,...
  • python读取csv文件,可以用pandas包来读取,比如 import pandas as pd df = pd.read_csv("filename.csv") print(df) 读取数据后,若要获取某一行某一列的值, # 获取某一行的值 print(df.iloc[1]) # 获取一列...
  • 1.'gbk' codec can't decode byte 0xbd in position 3182: illegal multibyte sequence ... 文件某一行出错,具体也不清楚,没在文件里找到与3180有关的内容(欢迎大佬调教) 3.with open( ' test1. CsV','rb '...
  • In an CSV file with python we can read all the file line by line or row by row , I want to read specific line (line number 24 example ) without reading all the file and all the lines.解决方案linecache...
  • python读取csv文件并绘图

    千次阅读 2020-08-02 21:50:26
    使用 python csv及matplotlib 读取csv文件并绘图 具体代码 import csv import matplotlib.pyplot as plt exampleFile = open('UCS.csv') # 打开csv文件 exampleReader = csv.reader(exampleFile) # 读取csv文件 ...
  • Python 读取csv某行

    千次阅读 2017-05-30 18:50:08
    Python 读取csv某行 2014-04-05 站长用Python写了个可以提取csv任一列的代码,欢迎使用。 https://github.com/pilicurg/GetCsvColumn 假设CSV文件内容如下: No.,Name,Age,Score 1,Apple,12,98 2,Ben,13...
  • 站长用Python写了个可以提取csv任一列的代码,欢迎使用。Github链接csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格:就可以存储为csv文件文件内容是:No.,Name,Age,Score1...
  • python-读取csv文件某

    千次阅读 2019-01-23 10:03:25
    python-读取csv文件某
  • 读取CSV文件,输出如图,用plt做图出来的坐标轴排序乱了,怎么改代码 应该是数据类型的问题,但是我不知道要怎么改数据类型改成什么样。求代码,谢了。
  • 原文链接:python读取CSV文件python中有个读写csv文件的包,直接import csv即可。利用这个python包可以很方便对csv文件进行操作,一些简单的用法如下。1. 读文件csv_reader = csv.reader(open('data.file', ...
  • python读取csv文件并添加索引 文章目录python读取csv文件并添加索引前言实现过程总结 前言 对于csv文件进行处理个重要的步骤是为数据添加索引,方便后续的数据操作 实现过程 这里我们使用pandas库中的read_csv...
  • 今天老唐简单记录一下使用自带的 csv 库怎么进行 Python文件读写操作,主要包括新建文件、追加写入、读取文件等操作。其实还是比较简单的,但是看到网上有人给了个错误的示范,还是有必要写个正确的。Python ...
  • python读取CSV文件

    2018-08-18 18:40:37
    python自带CSV包,支持读写CSV文件,API很简单 1、open函数创建文件句柄fd 2、通过csv.writer(fd)构建写对象writer, csv.reader(fd)构建读对象reader 3、writer.writerow()写单行,writer.writerrows()写多行 4...
  • csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格: 就可以存储为csv文件文件内容是:No.,Name,Age,Score ...,如何用Python像操作Excel一样提取其中的一行,也就是一条...
  • 使用python读取csv文件

    万次阅读 多人点赞 2018-06-23 12:57:58
    python读取文件的操作是很常见的,所以在这里记录一下相关的操作步骤: 有参考这篇博客:https://www.cnblogs.com/unnameable/p/7366437.html 文件的读取 1.首先你得有csv文件,可以把excel文件另存为csv...
  • Python读取CSV文件,json文件

    万次阅读 2019-03-27 21:27:39
    如题,有的时候我们需要对csv或者Excel文件进行处理(Excel也可以另存为CSV文件再操作),个包含这几千,几十列的个表,看着就很头大。但是这个大的个表中,我们感兴趣的只是那么几列数据。 举个栗子,目标...
  • Python读取csv文件(详解版,看了无师自通)

    万次阅读 多人点赞 2019-06-30 15:34:45
    csv 文件格式的本质是一种以文本存储的表格数据...由于 csv 文件的格式本身比较简单(通常第一行是表头,用于说明每列数据的含义,接下来每行代表一行数据),因此使用 csv 模块读取 csv 文件也非常简单: 创建 c...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 29,168
精华内容 11,667
关键字:

python读取csv文件某一行

python 订阅