【问题标题】:Tuple and CSV Reader in PythonPython 中的元组和 CSV 阅读器
【发布时间】:2015-01-07 03:04:45
【问题描述】:

尝试一些相对简单的事情。

首先,我有一个以元组为键的字典,如下所示: (0,1,1,0): "索引 1"

我正在读取一个 CSV 文件,该文件具有一组相应的字段,其中包含这些零和一的各种组合。因此,例如,CSV 中的行可能读取 0,1,1,0 而没有任何引用。我正在尝试将文件中零和一的组合与字典的键相匹配。为此使用标准 CSV 模块

但是问题是零和一被读入作为带有单引号的字符串而不是整数。换句话说,从每一行创建的元组结构为 ('0','1','1','0') 与 (0,1,1,0) 不匹配

任何人都可以阐明如何引入 CSV 并删除单引号吗?元组匹配和 CSV 读取似乎可以工作——只需要理顺数据格式。

谢谢!

【问题讨论】:

    标签: python csv tuples


    【解决方案1】:
    tuple(int(x) for x in ('0','1','1','0'))    # returns (0,1,1,0)
    

    所以,如果你的 CSV 阅读器对象被称为 csv_reader,你只需要这样一个循环:

    for row in csv_reader:
        tup = tuple(int(x) for x in row)
        # ...
    

    【讨论】:

      【解决方案2】:

      当您读入 CSV 文件时,根据您使用的库,您可以指定分隔符。

      通常,逗号被解释为分隔符。也许您可以将分隔符指定为其他内容,例如'-',这样一组数字作为字符串一起读取,你可以使用多种方法将其转换为元组,例如使用converting string to tuple中提到的ast.literal_eval

      希望有帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-08
        • 1970-01-01
        • 1970-01-01
        • 2012-02-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多