是否可以一次在Python中读取一个字段而不是整行?我有一个输入是一行,有大量的逗号分隔值。我需要一次在文件中查找一个值。
答案 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]有不同的字段。