Python 2.7读取csv字段而不是行

时间:2015-10-21 21:47:14

标签: python

是否可以一次在Python中读取一个字段而不是整行?我有一个输入是一行,有大量的逗号分隔值。我需要一次在文件中查找一个值。

4 个答案:

答案 0 :(得分:2)

您可以在List中获取csv数据,然后迭代列表:

import csv
f1="filename.csv"
with open(f1, 'rU') as csvfile1:

    csvreader1 = csv.reader(csvfile1)
    for line1 in csvreader1:
        print "List of Values from File=", line1

    #Iterate List to get seperate items.
    for idx,item in enumerate(line1):
        print idx , ": ", item

答案 1 :(得分:1)

读取该行,然后使用split

f=open(filename,'r')
fields=f.readline().split(',')

现在fields [i]是第i个字段

答案 2 :(得分:0)

假设您使用的是csv阅读器my_reader ...

row_stream = (row for row in my_reader)
field_stream = (field for field in row)
for field in field_stream:
    ....

这为您提供了一个字段流,而不是一系列csv行。如果用生成器理解替换“for”表达式,则可以继续管道。

答案 3 :(得分:0)

来自user4421975的回答对我很有用。我也发现这有效:

f=open(filename,'r')
reader = csv.reader(f)
row = reader.next()

现在row [i]有不同的字段。