迭代Python中csvFile中的特定行

时间:2016-04-10 07:17:01

标签: python

我有一个包含csvfiles的编程任务。到目前为止,我只遇到从特定行获取值的问题,这些行是用户想要查找的行。

当我感到沮丧时,我只是将每一列附加到一个单独的列表中,这是非常慢的(当打印列表进行测试时),因为每列有数百个值。

问题: 所需的行是索引为[0] == user_input的行。我怎样才能获得这些特定行而忽略其他行?

3 个答案:

答案 0 :(得分:0)

这应该会给你一个想法:

import csv
with open('file.csv', 'rb') as f:
    reader = csv.reader(f, delimiter=',') 
    user_rows = filter(lambda row: row[0] == user_input, reader)

答案 1 :(得分:0)

Python有模块csv

import csv
rows=[]
for row in csv.reader(open('a.csv','r'),delimiter=','):
    if(row[0]==user_input):
        rows.append(row)

答案 2 :(得分:0)

def filter_csv_by_prefix (csv_path, prefix):
    with open (csv_path, 'r') as f:
        return tuple (filter (lambda line : line.split(',')[0] == prefix, f.readlines ()))

for line in filter_csv_by_prefix ('your_csv_file', 'your_prefix'):
    print (line)