2016-04-10 15 views
0

Ich habe eine Programmieraufgabe, die csvfiles umfassen. Bis jetzt habe ich nur ein Problem damit, Werte nur von bestimmten Zeilen zu erhalten, welche die Zeilen sind, die der Benutzer nachschlagen möchte.Iterieren durch bestimmte Zeilen in einer csvfile in Python

Als ich frustriert ich hängten nur jede Spalte in eine separate Liste, die sehr langsam ist (wenn die Liste für Test gedruckt wird), weil jede Spalte Hunderte von Werten hat.

Frage: die gewünschten Zeilen werden die Zeilen, deren Index [0] == USER_INPUT. Wie kann ich nur diese bestimmten Zeilen erhalten und die anderen ignorieren?

+0

Können Sie etwas mehr zeigen. Was ist Index []? –

Antwort

0

Sie Dies sollte eine Idee geben:

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 hat den Code, um das Modul 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) 
Verwandte Themen