【问题标题】:How can I read a CSV file line by line while keeping track of the column headers?如何在跟踪列标题的同时逐行读取 CSV 文件?
【发布时间】:2016-06-27 16:22:01
【问题描述】:

使用此代码时:

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

它逐行读取我的 CSV 文件,但我无法通过标题选择我想要的行。索引可能会因文件而异,所以我觉得这不是连续选择我想要的列的好方法。有什么好的方法来解决这个问题?

【问题讨论】:

    标签: python python-2.7 csv


    【解决方案1】:

    从 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

    【讨论】:

      猜你喜欢
      • 2012-08-23
      • 1970-01-01
      • 2018-03-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多