python从xml读取数据
来源:互联网 发布:让vb文本框中内容滚动 编辑:程序博客网 时间:2024/06/05 06:21
from xml.etree import ElementTree as ETdef getSubDir(path): dirname=list() for file in os.listdir(path): dirname.append(file) return dirname
def get_xml_data(path): xmlFileNames = getSubDir(path) gesturePositionEndCount = 0 for xmlFileName in xmlFileNames: if gesturePositionEndCount < int(str(xmlFileName).split("Skeleton ")[1].split(".xml")[0]): gesturePositionEndCount = int(str(xmlFileName).split("Skeleton ")[1].split(".xml")[0]) gesture = np.zeros((gesturePositionEndCount+1, 24)) gesturePositionStartCount = gesturePositionEndCount for xmlFileName in xmlFileNames: xmlPath = path + xmlFileName dom=ET.parse(xmlPath) TrackStatus=dom.findall('./Skeleton/TrackingState') isTracked = False for trackStatu in TrackStatus: if trackStatu.text=="Tracked": isTracked=True JointsPosition = np.zeros((24)) if isTracked==True: gestureCount=int(str(xmlFileName).split("Skeleton ")[1].split(".xml")[0]) if gesturePositionStartCount > gestureCount: gesturePositionStartCount = gestureCount Joints = dom.findall('./Skeleton/Joints/Joint/Position') JointType=dom.findall('./Skeleton/Joints/Joint/JointType') for i in range(20): if JointType[i].text == 'Spine' : JointsPosition[0] = float(Joints[i][0].text) JointsPosition[1] = float(Joints[i][1].text) JointsPosition[2] = float(Joints[i][2].text) elif JointType[i].text == 'ShoulderCenter': JointsPosition[3] = float(Joints[i][0].text) JointsPosition[4] = float(Joints[i][1].text) JointsPosition[5] = float(Joints[i][2].text) elif JointType[i].text == 'ElbowLeft': JointsPosition[6] = float(Joints[i][0].text) JointsPosition[7] = float(Joints[i][1].text) JointsPosition[8] = float(Joints[i][2].text) elif JointType[i].text == 'WristLeft': JointsPosition[9] = float(Joints[i][0].text) JointsPosition[10] = float(Joints[i][1].text) JointsPosition[11] = float(Joints[i][2].text) elif JointType[i].text == 'HandLeft': JointsPosition[12] = float(Joints[i][0].text) JointsPosition[13] = float(Joints[i][1].text) JointsPosition[14] = float(Joints[i][2].text) elif JointType[i].text == 'ElbowRight': JointsPosition[15] = float(Joints[i][0].text) JointsPosition[16] = float(Joints[i][1].text) JointsPosition[17] = float(Joints[i][2].text) elif JointType[i].text == 'WristRight': JointsPosition[18] = float(Joints[i][0].text) JointsPosition[19] = float(Joints[i][1].text) JointsPosition[20] = float(Joints[i][2].text) elif JointType[i].text == 'HandRight': JointsPosition[21] = float(Joints[i][0].text) JointsPosition[22] = float(Joints[i][1].text) JointsPosition[23] = float(Joints[i][2].text) gesture[gestureCount]=JointsPosition gesture=gesture[gesturePositionStartCount:] return gesture
以下为xml文件,为G3D数据集之一 [1]Hyo-Rim Choi ID ,TaeYong Kim, Combined Dynamic Time Warping with Multiple Sensors for 3D Gesture Recognition
<?xml version="1.0" encoding="utf-8"?><ArrayOfSkeleton xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Skeleton> <TrackingState>Tracked</TrackingState> <TrackingId>2</TrackingId> <Position> <X>-0.0214900617</X> <Y>-0.0816660151</Y> <Z>2.89792681</Z> </Position> <Joints> <Joint> <Position> <X>0.00019626577</X> <Y>0.0970646441</Y> <Z>2.97007537</Z> </Position> <JointType>HipCenter</JointType> <TrackingState>Tracked</TrackingState> <PositionToDepth> <X>160</X> <Y>111</Y> <Depth>2970</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>317</X> <Y>251</Y> </PositionToColor> </Joint> <Joint> <Position> <X>-0.00932758953</X> <Y>0.159060836</Y> <Z>3.02927184</Z> </Position> <JointType>Spine</JointType> <TrackingState>Tracked</TrackingState> <PositionToDepth> <X>159</X> <Y>105</Y> <Depth>3029</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>315</X> <Y>241</Y> </PositionToColor> </Joint> <Joint> <Position> <X>-0.00241138716</X> <Y>0.5289015</Y> <Z>3.04308677</Z> </Position> <JointType>ShoulderCenter</JointType> <TrackingState>Tracked</TrackingState> <PositionToDepth> <X>160</X> <Y>70</Y> <Depth>3043</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>316</X> <Y>178</Y> </PositionToColor> </Joint> <Joint> <Position> <X>0.01377838</X> <Y>0.7075398</Y> <Z>2.98631644</Z> </Position> <JointType>Head</JointType> <TrackingState>Tracked</TrackingState> <PositionToDepth> <X>161</X> <Y>52</Y> <Depth>2986</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>319</X> <Y>146</Y> </PositionToColor> </Joint> <Joint> <Position> <X>-0.162368089</X> <Y>0.422489941</Y> <Z>2.99799681</Z> </Position> <JointType>ShoulderLeft</JointType> <TrackingState>Tracked</TrackingState> <PositionToDepth> <X>145</X> <Y>80</Y> <Depth>2998</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>289</X> <Y>195</Y> </PositionToColor> </Joint> <Joint> <Position> <X>-0.213914037</X> <Y>0.162961826</Y> <Z>2.93309474</Z> </Position> <JointType>ElbowLeft</JointType> <TrackingState>Inferred</TrackingState> <PositionToDepth> <X>139</X> <Y>104</Y> <Depth>2933</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>279</X> <Y>239</Y> </PositionToColor> </Joint> <Joint> <Position> <X>-0.221437737</X> <Y>-0.04951407</Y> <Z>2.83616543</Z> </Position> <JointType>WristLeft</JointType> <TrackingState>Inferred</TrackingState> <PositionToDepth> <X>138</X> <Y>125</Y> <Depth>2836</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>276</X> <Y>276</Y> </PositionToColor> </Joint> <Joint> <Position> <X>-0.200154513</X> <Y>-0.146072283</Y> <Z>2.815992</Z> </Position> <JointType>HandLeft</JointType> <TrackingState>Inferred</TrackingState> <PositionToDepth> <X>140</X> <Y>135</Y> <Depth>2816</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>280</X> <Y>295</Y> </PositionToColor> </Joint> <Joint> <Position> <X>0.16760999</X> <Y>0.401035815</Y> <Z>3.05390549</Z> </Position> <JointType>ShoulderRight</JointType> <TrackingState>Tracked</TrackingState> <PositionToDepth> <X>176</X> <Y>82</Y> <Depth>3054</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>345</X> <Y>200</Y> </PositionToColor> </Joint> <Joint> <Position> <X>0.209677354</X> <Y>0.1398712</Y> <Z>3.0224824</Z> </Position> <JointType>ElbowRight</JointType> <TrackingState>Inferred</TrackingState> <PositionToDepth> <X>180</X> <Y>107</Y> <Depth>3022</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>352</X> <Y>244</Y> </PositionToColor> </Joint> <Joint> <Position> <X>0.2035667</X> <Y>-0.07699941</Y> <Z>2.937693</Z> </Position> <JointType>WristRight</JointType> <TrackingState>Inferred</TrackingState> <PositionToDepth> <X>180</X> <Y>127</Y> <Depth>2938</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>352</X> <Y>281</Y> </PositionToColor> </Joint> <Joint> <Position> <X>0.183235392</X> <Y>-0.171021983</Y> <Z>2.9072</Z> </Position> <JointType>HandRight</JointType> <TrackingState>Inferred</TrackingState> <PositionToDepth> <X>178</X> <Y>137</Y> <Depth>2907</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>349</X> <Y>298</Y> </PositionToColor> </Joint> <Joint> <Position> <X>-0.07376713</X> <Y>0.0284980889</Y> <Z>2.94717479</Z> </Position> <JointType>HipLeft</JointType> <TrackingState>Tracked</TrackingState> <PositionToDepth> <X>153</X> <Y>117</Y> <Depth>2947</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>303</X> <Y>263</Y> </PositionToColor> </Joint> <Joint> <Position> <X>-0.167436987</X> <Y>-0.486169368</Y> <Z>2.995955</Z> </Position> <JointType>KneeLeft</JointType> <TrackingState>Tracked</TrackingState> <PositionToDepth> <X>144</X> <Y>166</Y> <Depth>2996</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>288</X> <Y>352</Y> </PositionToColor> </Joint> <Joint> <Position> <X>-0.205453873</X> <Y>-0.8678049</Y> <Z>2.98811626</Z> </Position> <JointType>AnkleLeft</JointType> <TrackingState>Tracked</TrackingState> <PositionToDepth> <X>140</X> <Y>203</Y> <Depth>2988</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>280</X> <Y>418</Y> </PositionToColor> </Joint> <Joint> <Position> <X>-0.231630847</X> <Y>-0.9311304</Y> <Z>2.96172214</Z> </Position> <JointType>FootLeft</JointType> <TrackingState>Tracked</TrackingState> <PositionToDepth> <X>138</X> <Y>210</Y> <Depth>2962</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>275</X> <Y>431</Y> </PositionToColor> </Joint> <Joint> <Position> <X>0.07490804</X> <Y>0.01872996</Y> <Z>2.96360135</Z> </Position> <JointType>HipRight</JointType> <TrackingState>Tracked</TrackingState> <PositionToDepth> <X>167</X> <Y>118</Y> <Depth>2964</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>330</X> <Y>265</Y> </PositionToColor> </Joint> <Joint> <Position> <X>0.115202829</X> <Y>-0.496567756</Y> <Z>2.99769115</Z> </Position> <JointType>KneeRight</JointType> <TrackingState>Tracked</TrackingState> <PositionToDepth> <X>171</X> <Y>167</Y> <Depth>2998</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>336</X> <Y>354</Y> </PositionToColor> </Joint> <Joint> <Position> <X>0.149258137</X> <Y>-0.8660327</Y> <Z>2.995776</Z> </Position> <JointType>AnkleRight</JointType> <TrackingState>Tracked</TrackingState> <PositionToDepth> <X>174</X> <Y>203</Y> <Depth>2996</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>342</X> <Y>419</Y> </PositionToColor> </Joint> <Joint> <Position> <X>0.161565468</X> <Y>-0.8981455</Y> <Z>2.92454815</Z> </Position> <JointType>FootRight</JointType> <TrackingState>Tracked</TrackingState> <PositionToDepth> <X>176</X> <Y>208</Y> <Depth>2925</Depth> <PlayerIndex>0</PlayerIndex> </PositionToDepth> <PositionToColor> <X>344</X> <Y>428</Y> </PositionToColor> </Joint> </Joints> <ClippedEdges>None</ClippedEdges> </Skeleton> <Skeleton> <TrackingState>NotTracked</TrackingState> <TrackingId>0</TrackingId> <Position> <X>0</X> <Y>0</Y> <Z>0</Z> </Position> <ClippedEdges>None</ClippedEdges> </Skeleton> <Skeleton> <TrackingState>NotTracked</TrackingState> <TrackingId>0</TrackingId> <Position> <X>0</X> <Y>0</Y> <Z>0</Z> </Position> <ClippedEdges>None</ClippedEdges> </Skeleton> <Skeleton> <TrackingState>NotTracked</TrackingState> <TrackingId>0</TrackingId> <Position> <X>0</X> <Y>0</Y> <Z>0</Z> </Position> <ClippedEdges>None</ClippedEdges> </Skeleton> <Skeleton> <TrackingState>NotTracked</TrackingState> <TrackingId>0</TrackingId> <Position> <X>0</X> <Y>0</Y> <Z>0</Z> </Position> <ClippedEdges>None</ClippedEdges> </Skeleton> <Skeleton> <TrackingState>NotTracked</TrackingState> <TrackingId>0</TrackingId> <Position> <X>0</X> <Y>0</Y> <Z>0</Z> </Position> <ClippedEdges>None</ClippedEdges> </Skeleton></ArrayOfSkeleton>
阅读全文
0 0
- python从xml读取数据
- python xml数据读取
- python读取xml数据
- ArrayList从xml读取数据
- Python 读取.xml数据集
- 从XML中读取数据连接参数--XML读取操作
- 从数据库中读取XML数据
- 从XML文件中读取数据
- 四、从XML读取数据表格
- Ajax 从servlet中读取xml数据
- 从xml文件中读取出数据
- GridView从Xml中读取数据
- Python 读取xml数据,cv2裁剪图片
- Python--从文件中读取数据
- python文件读取:从任意位置读取任意长度数据
- [ASP.net]从数据库中读取数据自动生成XML
- 从数据库中读取数据自动生成XML
- 从XML中读取数据!(Asp.net 学习一)
- 结构体的使用概述
- TestNG入门教程-5-timeOut属性
- if结构实现迷你计算器,支持加减乘除的数学运算功能
- web调试优化-chrome开发者工具不完全指南
- malloc的底层实现
- python从xml读取数据
- 系统监控工具
- 【hdu 1232】 畅通工程
- Nginx之简单使用及配置-yellowcong
- 基于TP-GAN的侧脸人像恢复
- 面试题5:从头到尾打印链表
- IP报文中的头部设置
- Thymeleaf+SpringMVC,如何从模板中获取数据
- 在vue中methods互相调用的方法