我有一个包含csvfiles的编程任务。到目前为止,我只遇到从特定行获取值的问题,这些行是用户想要查找的行。
当我感到沮丧时,我只是将每一列附加到一个单独的列表中,这是非常慢的(当打印列表进行测试时),因为每列有数百个值。
问题: 所需的行是索引为[0] == user_input的行。我怎样才能获得这些特定行而忽略其他行?
答案 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)