包含整数和多个分隔符的字符串到数据数组的优化

2024-06-11 06:45:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我将大量ASCII数据从设备流式传输,并将其解码为字符串类型。结果是以逗号和分号分隔的字符串

'-81,-82,-82-87,-88,-88,-88,'

我的目标是将这个字符串拆分为一个维度的数组:[分号长度,逗号长度]。每个数组元素都是一个整数值,如上面的示例所示。我已经实现了两种方法来实现我的目标,但它们都非常耗时(大约3-7秒)。我正在处理一千万个整数。是否可以缩短处理时间?如果可以,我应该如何进行

谢谢

#Method 1 (about 3 seconds to process)

BigTrace = BigTraceBytes.decode()
Traces = BigTrace.split(';')

box = np.empty([len(Traces),Record_Length])   
idx= 0

for row in Traces:
   temp = row.split(',')
   box[idx] = [float(i) for i in temp]
   idx+=1

box3d = box.reshape(100,100,1000)

#Method 2 (about 7 seconds to process)

BigTrace = BigTraceBytes.decode()
TraceSplit = (re.split(',|;',BigTrace))
ArrSplit= np.array(TraceSplit)
done = ArrSplit.astype('int')

Tags: to字符串box目标数组processmethodabout