我需要检查csv文件中的列标题,并且只需要此任务的标头值,而不是下面的值(尚未)。现在我使用DictReader和fieldnames来获取列标题,主要是因为使用此方法时代码更清晰。是否有任何理由(性能或其他方面)只使用标准csv阅读器,在顶部列中读取标题,然后关闭文件?
答案 0 :(得分:7)
我认为DictReader的效率仅略低于csv阅读器(我从未见过基准测试)。 DictReader提供的是更好的可读性。阅读代码的任何人都可以看到访问列时发生的事情
reader = csv.DictReader(f.open)
for line_dict in reader:
line_dict['First Column']
line_dict['Second Column']
仅反对csv阅读器的数字索引。如果您正在使用包含许多列的文件,那么必须记住列名称的索引会令人抓狂。我认为为了便于阅读,DictReader获胜。