Ich versuche, in einer CSV-Datei zu lesen und dann alle Werte aus jeder Spalte und in eine separate Liste aufzunehmen. Ich möchte die Werte nicht nach Zeilen. Da der CSV-Reader nur ein einziges Durchlaufen der Datei erlaubt, verwende ich die seek() -Methode, um zum Anfang zurückzugehen und die nächste Spalte zu lesen. Gibt es neben der Verwendung eines Dict-Mappings einen besseren Weg, dies zu tun?Alle Spalten aus der CSV-Datei lesen?
infile = open(fpath, "r")
reader = csv.reader(infile)
NOUNS = [col[0] for col in reader]
infile.seek(0) # <-- set the iterator to beginning of the input file
VERBS = [col[1] for col in reader]
infile.seek(0)
ADJECTIVES = [col[2] for col in reader]
infile.seek(0)
SENTENCES = [col[3] for col in reader]
Dies setzt voraus, dass die erste Zeile eine Kopfzeile ist. Unabhängig davon können Sie das 'if/else' durch eine Zeile ersetzen:' d.setdefault (key, []). Append (value) '. – martineau
Ja, ich habe die erste Zeile als Header angenommen. Danke, dass Sie mir von 'setdefaultkey' erzählt haben. –