2016-04-10 4 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) 
関連する問題