DictReader fieldnames vs csv reader第一行

Sam*_*son 4 python csv

我需要检查csv文件中的列标题,并且只需要此任务的标头值,而不是下面的值(尚未).现在我使用DictReader和fieldnames来获取列标题,主要是因为使用此方法时代码更清晰.是否有任何理由(性能或其他方面)只使用标准的csv阅读器,在顶部列中读取标题,然后关闭文件?

dm0*_*514 7

我会想象DictReader的效率会略低于csv阅读器(我从未见过基准测试).DictReader提供的是更好的可读性.阅读代码的任何人都可以看到访问列时发生的情况

reader = csv.DictReader(f.open)
for line_dict in reader:
   line_dict['First Column']
   line_dict['Second Column']
Run Code Online (Sandbox Code Playgroud)

与csv阅读器的数字索引相反.如果您正在使用包含许多列的文件,那么必须记住列名称的索引会令人抓狂.我认为为了便于阅读,DictReader获胜.

  • 除此之外,代码更具弹性 - 如果有人重新订购CSV文件(例如,在中间添加一个新列),它将不会使您的代码生硬. (2认同)