0
我只能從文本文件讀取整數值,但是當我嘗試讀取十六進制格式的整數時,會發生錯誤。我使用的代碼行是使用Numpy的readtxt讀取十六進制數字
output = np.loadtxt(fidOut, dtype="int32", delimiter="\n");
你能幫我嗎?
我只能從文本文件讀取整數值,但是當我嘗試讀取十六進制格式的整數時,會發生錯誤。我使用的代碼行是使用Numpy的readtxt讀取十六進制數字
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
表達式。
我真的從來沒有用過lambda表達式,儘管我知道它們是什麼。我想我會鑽研那個..謝謝 –