我正在开发科学的测量设备接口。我需要将数据(从套接字接收)加载为numpy数组。
数据是8960字节缓冲区,具有5120个14位整数值。那么,加载它的方法是什么? 我尝试过使用ctypes:
class PackedValue(ct.BigEndianStructure):
_fields_ = [("v", ct.c_uint16, 14)]
DataArray = PackedValue * 10
values = DataArray.from_buffer_copy(data)
但由于数组对齐,未正确加载值。然后 - 如何将其转换为numpy数组,因为调用
nda_values = np.ctypeslib.as_array(values)
发生以下异常:
AttributeError: 'PackedValue' object has no attribute '__array_interface__'
那么,如何使用dtype = int16将接收到的数据加载到numpy ndarray中? 或者有更快的方法来加载数据而不使用ctypes?