什么是以Pythonic方式读取CSV文件数据作为具有命名元组的行的方法?

14 浏览
0 Comments

什么是以Pythonic方式读取CSV文件数据作为具有命名元组的行的方法?

如何以最佳方式处理包含标题行的数据文件,并将此行读入命名元组,以便可以通过标题名称访问数据行?

我尝试了以下代码:

import csv
from collections import namedtuple
with open('data_file.txt', mode="r") as infile:
    reader = csv.reader(infile)
    Data = namedtuple("Data", ", ".join(i for i in next(reader)))
    for row in reader:
        data = Data(*row)

reader对象是不可索引的,因此上述代码会引发TypeError。读取文件标题并将其转换为命名元组的pythonic方式是什么?

0