我只能从文本文件中读取整数值,但是当我尝试以十六进制格式读取整数时,会发生错误。我使用的代码行是
output = np.loadtxt(fidOut, dtype="int32", delimiter="\n");
你能帮助我吗?
答案 0 :(得分:3)
您需要添加转换器,以便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
- 表达式。