我想讀取一個CSV文件,然後從每列中取出所有的值並放入一個單獨的列表中。我不希望按行排列。由於CSV閱讀器只允許循環一次文件,因此我使用seek()方法返回到開頭並閱讀下一列。除了使用Dict映射外,還有更好的方法來做到這一點嗎?閱讀CSV文件中的所有列?
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]
這假定第一行是標題。無論如何,你可以用一行代替'if/else':'d.setdefault(key,[])。append(value)'。 – martineau
是的,我假設第一行爲標題。感謝您告訴我關於'setdefaultkey'的更多信息 –