将CSV文件数据作为namedtuple行读取的pythonic方法是什么?

drbunsen:

提取包含标题行的数据文件并将其读入命名元组的最佳方法是什么,以便可以通过标题名访问数据行?

我正在尝试这样的事情:

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 reader[0]))
    next(reader)
    for row in reader:
        data = Data(*row)

reader对象不可下标,因此上述代码抛出TypeError将文件头读入namedtuple的pythonic方法是什么?

斯文·马纳赫(Sven Marnach):

用:

Data = namedtuple("Data", next(reader))

并省略以下行:

next(reader)

将其与基于martineau的以下注释的迭代版本相结合,该示例将成为适用于Python 2的示例

import csv
from collections import namedtuple
from itertools import imap

with open("data_file.txt", mode="rb") as infile:
    reader = csv.reader(infile)
    Data = namedtuple("Data", next(reader))  # get names from column headers
    for data in imap(Data._make, reader):
        print data.foo
        # ...further processing of a line...

而对于Python 3

import csv
from collections import namedtuple

with open("data_file.txt", newline="") as infile:
    reader = csv.reader(infile)
    Data = namedtuple("Data", next(reader))  # get names from column headers
    for data in map(Data._make, reader):
        print(data.foo)
        # ...further processing of a line...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

存储 CSV 或 TSV 文件数据的最佳方式是什么?

包括将数据写入文本或csv文件和/或从文本或csv文件读取的好程序是什么?

将字符串写入文件的pythonic方法是什么?

用JUnit 5从CSV文件读取测试数据的最佳方法是什么?

将 csv 文件作为数据帧读取时模式错误

如何将csv文件数据读取到数组中?

Powershell - 将 CSV 文件作为单独的行读取

打开文件的最pythonic方法是什么?

如何在PHP中读取多个CSV文件数据

Rails使用活动存储读取csv文件数据

从文本文件读取特定行的方法是什么?

将原始日志文件数据转换为CSV文件

在Redshift中存储事件数据的最佳方法是什么?

在Pandas数据框中迭代两个连续行的Pythonic方法是什么?

计算目录中文件数量的最佳方法是什么?

将 csv 文件作为向量读取

从文件读取二进制数据,将值显示为十六进制然后保存的可靠方法是什么?

使用Perl读取文件行并将其写入各种数据库表的最佳方法是什么?

将CSV文件数据加载到表中

如何将csv文件数据加载到CDH?

将CSV文件数据分组以创建报告

将文本文件数据写入 csv

如何将每个csv行作为类实例的csv文件内容读取到类中

在AWS胶上从S3读取csv和文本文件而不必将其读取为动态数据框的最佳方法是什么?

我如何从 ruby on rails 中的 csv 文件读取 csv 文件数据

将大量数据从内存写入文件的最快方法是什么?

Pandas 将文件行作为列读取

解析此数据的最佳Pythonic方法是什么?

在函数调用之间保存数据的pythonic方法是什么?