【发布时间】:2015-07-10 15:40:21
【问题描述】:
我只能从文本文件中读取整数值,但是当我尝试读取 Hex 格式的整数时,会发生错误。我正在使用的代码行是
output = np.loadtxt(fidOut, dtype="int32", delimiter="\n");
你能帮帮我吗?
【问题讨论】:
我只能从文本文件中读取整数值,但是当我尝试读取 Hex 格式的整数时,会发生错误。我正在使用的代码行是
output = np.loadtxt(fidOut, dtype="int32", delimiter="\n");
你能帮帮我吗?
【问题讨论】:
您需要添加一个转换器,以便 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-表达式。
【讨论】: