如何在跟踪列标题的同时逐行读取CSV文件?

时间:2016-06-27 16:22:01

标签: python python-2.7 csv

使用此代码时:

with open(filepath, 'r') as f:
    reader = csv.reader(f)
    for i, line in enumerate(reader):
        print 'line[{}] = {}'.format(i, line)

它逐行读取我的CSV文件,但我无法通过其标题选择我想要的行。索引可能会在不同文件之间发生变化,所以我觉得这不是一个很好的方法来选择我想要的列。什么是解决这个问题的好方法?

1 个答案:

答案 0 :(得分:2)

从csv文档中,使用DictReader而不仅仅是阅读器。将您的实施更新为:

import csv
with open(filename, 'r') as f:
    reader = csv.DictReader(f)
    for i, line in enumerate(reader):
        print 'line[{}] = {}'.format(i, line['header_name'])

DictReader上的文档可在此处找到:https://docs.python.org/2/library/csv.html#csv.DictReader