我想读取一个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'的更多信息 –