python中有强类型csv读取器吗?

2024-05-23 20:32:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用csvpython包来读取一个csv文件,如下所示:

r = csv.DictReader(open(r'd:\aaa.csv', 'rb'))
for row in r:
  print row

问题是结果字典中的所有值都是字符串,我需要将它们转换为相应的类型。我有列名和类型之间的映射。在

这里有捷径吗?还是我必须自己做?在

编辑

我把https://stackoverflow.com/a/9720733/80002标记为答案。只是,我稍微修改了一下。如果我无论如何都要对其进行后处理,那么使用DictReader是没有意义的,所以下面是我对Sven代码的修改:

^{pr2}$

Tags: 文件csv字符串in类型for字典open
1条回答
网友
1楼 · 发布于 2024-05-23 20:32:54

如果您有一个转换器函数字典,将字符串转换为相应的类型,那么您只需要

with open("d:/aaa.csv", "rb") as input_file:
    reader = csv.DictReader(input_file)
    for row in reader:
        row = {k: converters[k](v) for k, v in row.items()}
        print row

(Python 2.7。{cd1>使用早期版本的词典

您可以在生成器函数中包装此代码(只需使用yield row而不是print row)。在

相关问题 更多 >