2016-04-10 34 views
0

我有一個包含csvfiles的編程任務。到目前爲止,我只有一個問題,只能從特定行中獲取值,這是用戶想要查找的行。在Python的csvFile中遍歷特定行

當我感到沮喪時,我只是將每列添加到一個單獨的列表中,這是非常慢的(列表打印測試時),因爲每列都有數百個值。

問題: 期望的行是其索引[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) 
0

Python有模塊CSV

import csv 
rows=[] 
for row in csv.reader(open('a.csv','r'),delimiter=','): 
    if(row[0]==user_input): 
     rows.append(row) 
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)