1 回答
TA贡献1804条经验 获得超2个赞
您只需要将dataLine列表转换为元组,它就可以正常工作。那是因为您array应该保留形状 (3,)。使用dataLine作为一个列表asarray将解释每个单独的值与形状(3,6),你想不被尊重的D型多维数组的一部分。
def main():
tmp = []
for line in data_text.split("\n"):
dataLine = []
for (h, _), v in zip(data_type, line.split(",")):
if h == "Scan":
dataLine.append(int(v))
elif h == "Time":
# dataLine.append(datetime.strptime(v, "%m/%d/%Y %H:%M:%S:%f"))
dataLine.append(np.datetime64(datetime.strptime(v, "%m/%d/%Y %H:%M:%S:%f"), "us"))
elif "Alarm" in h:
dataLine.append(bool(v))
else:
dataLine.append(float(v))
tmp.append(tuple(dataLine))
data = np.asarray(tmp, dtype=data_type)
添加回答
举报