2016-04-03 9 views
-1

ich eine CSV-Datei auf diese Weise lesen:Lesen Sie eine CSV-Datei mit Liste Verständnis

links = [] 
with open(join(input_path,'data.csv')) as csvfile: 
    reader = csv.DictReader(csvfile) 
    for record in (reader): 
     if record['link']: 
      links.append(record['link']) 

Jetzt versuche ich, dieses

with open(join(input_path,'data.csv')) as csvfile: 
    reader = csv.DictReader(csvfile) 
    a = [record for record in reader if record['link']] 

Aber wie ich record statt record['link'] bin Rückkehr Ich habe ein Diktat, wie kann ich das gleiche Ergebnis wie im ersten Fall mit Listenverständnis bekommen?

Antwort

1

Sie record['link'] anhängt, so dass das, was ist, sollten Sie in das Verständnis sind:

links = [record['link'] for record in reader if record['link']] 
1

Verwenden Sie einfach den gleichen Ausdruck wie in dem Aufruf von links.append(), das heißt record['link']:

links = [record['link'] for record in reader if record['link']]