【问题标题】:Using Numpy's readtxt to read Hex numbers使用 Numpy read txt 读取 Hex 数字
【发布时间】:2015-07-10 15:40:21
【问题描述】:

我只能从文本文件中读取整数值,但是当我尝试读取 Hex 格式的整数时,会发生错误。我正在使用的代码行是

output = np.loadtxt(fidOut, dtype="int32", delimiter="\n");

你能帮帮我吗?

【问题讨论】:

    标签: python file numpy text


    【解决方案1】:

    您需要添加一个转换器,以便 numpy 了解如何解释十六进制数据。

    对于一个简单的文件test.csv,数据如下:

    af,2b,10    
    3aaa,4a,fa
    

    您需要为所有三列指定转换器:

    In [2]: np.loadtxt("test.csv", dtype='int32', delimiter=',', converters={_:lambda s: int(s, 16) for _ in range(3)})
    Out[2]: 
    array([[  175,    43,    16],
           [15018,    74,   250]], dtype=int32)
    

    提供的字典将列索引作为键,将转换器作为值。 根据您的十六进制数据在文件中的表示方式,您可能需要修改上面的lambda-表达式。

    【讨论】:

    • 我真的从未使用过 lambda 表达式,尽管我知道它们是什么。我想我会深入研究的......谢谢
    猜你喜欢
    • 1970-01-01
    • 2013-12-22
    • 2014-11-15
    • 2019-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-15
    相关资源
    最近更新 更多