准备使用xlsxwriter把数据写入到excel里面,报错:
Traceback (most recent call last):
File “XXXXXXXXXX.py”, line 134, in <module>
worksheet.write(startnum+1, 1, head_pose.position)
File “XXXXXXXXXX.py”, line 85, in cell_wrapper
return method(self, *args, **kwargs)
File “XXXXXXXXXX.py”, line 445, in write
return self._write(row, col, *args)
File “XXXXXXXXXX.py”, line 517, in _write
raise TypeError(“Unsupported type %s in write()” % type(token))
TypeError: Unsupported type <class ‘numpy.ndarray’> in write()
检查后发现问题出在数据结构上,比如原程序中,这种数组形式的数据[ 0.0589693 0.05704604 -0.13406745]是不能直接写入到excel里面的
需要先进行一个数据的提取
提取方法是新建一个变量,然后把数组中每一个值赋值给变量
这样就可以导出了,比如原数据:
head_pose.position = [ 0.0589693 0.05704604 -0.13406745]
要这么操作:
head_posePosition001 = head_pose.position[0]
head_posePosition002 = head_pose.position[1]
head_posePosition003 = head_pose.position[2]
然后再把head_posePosition001、head_posePosition002、head_posePosition003三个数据分别写入excel:
worksheet.write(startnum+1, 1, head_pose.position)
worksheet.write(startnum+1, 2, head_pose.position)
worksheet.write(startnum+1, 3, head_pose.position)
这样就可以了