棘手的Python3.5CSV难题-从CSV文件高效地创建100个列表,而无需每次引用标准
我的项目是选取100种不同的颜色,收集人们对它们的一个词的反应。所以有两列:颜色和反应。大约有600例我的目标是对同一种颜色的每一种反应进行分析,并将它们合并到某种列表中。 所以,我需要将所有的反应都放到一个特定的颜色中,并将它们合并到一个列表中,然后调用这个变量[color]\u all\u reactions 如果只有(比如)三种颜色,我可以迭代与指定颜色相关的每个反应,将这些颜色添加到列表中。但是我有太多的颜色来做这件事。我需要写一些东西来迭代所有反应,为每个唯一颜色创建一个所有反应列表,然后将与每个唯一颜色相关的内容附加到该颜色的所有反应列表中棘手的Python3.5CSV难题-从CSV文件高效地创建100个列表,而无需每次引用标准,python,csv,Python,Csv,我的项目是选取100种不同的颜色,收集人们对它们的一个词的反应。所以有两列:颜色和反应。大约有600例我的目标是对同一种颜色的每一种反应进行分析,并将它们合并到某种列表中。 所以,我需要将所有的反应都放到一个特定的颜色中,并将它们合并到一个列表中,然后调用这个变量[color]\u all\u reactions 如果只有(比如)三种颜色,我可以迭代与指定颜色相关的每个反应,将这些颜色添加到列表中。但是我有太多的颜色来做这件事。我需要写一些东西来迭代所有反应,为每个唯一颜色创建一个所有反应列表,
。我想知道是否有人能给我指出正确的方向 使用字典。 创建一个以
color
为键、反应列表为value
的字典。这样,迭代它将是轻而易举的事
专业提示-
使用
collections.defaultdict
而不是常规的dict
您可以使用类似这样的方法
color_reactions = dict()
with open('color_reactions.csv', 'r') as f:
for line in f:
color, reaction = line.strip().split(',')
color_reactions.setdefault(color, []).append(reaction)
反应对象可以是
defaultdict(int)
,而不是列表。这样他就可以计算出每一种反应的发生次数。@Roberto这是个好主意。