2015-07-10 206 views

回答

2

您需要添加一個轉換器,以便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表達式。

+0

我真的從來沒有用過lambda表達式,儘管我知道它們是什麼。我想我會鑽研那個..謝謝 –