how to convert xml file to pandas dataframe
Created 2 years ago
108
Views
1
Comments
i have xml file i cant able convert it
XML FILE
<?xml version="1.0"?>
-<annotation>
<folder>Images</folder>
<filename>02_Motijheel_280714_0005.jpg</filename>
<path>E:\Datasets\Dataset\Images\02_Motijheel_280714_0005.jpg</path>
-<source>
<database>Unknown</database>
</source>
-<size>
<width>1200</width>
<height>800</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
-<object>
<name>bus</name>
<pose>Unspecified</pose>
<truncated>1</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>833</xmin>
<ymin>390</ymin>
<xmax>1087</xmax>
<ymax>800</ymax>
</bndbox>
</object>
-<object>
<name>bus</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>901</xmin>
<ymin>284</ymin>
<xmax>1018</xmax>
<ymax>395</ymax>
</bndbox>
</object>
-<object>
<name>bus</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>909</xmin>
<ymin>241</ymin>
<xmax>1010</xmax>
<ymax>287</ymax>
</bndbox>
</object>
-<object>
<name>rickshaw</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>761</xmin>
<ymin>413</ymin>
<xmax>832</xmax>
<ymax>540</ymax>
</bndbox>
</object>
-<object>
<name>rickshaw</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>777</xmin>
<ymin>364</ymin>
<xmax>828</xmax>
<ymax>409</ymax>
</bndbox>
</object>
-<object>
<name>rickshaw</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>120</xmin>
<ymin>351</ymin>
<xmax>177</xmax>
<ymax>423</ymax>
</bndbox>
</object>
-<object>
<name>rickshaw</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>178</xmin>
<ymin>340</ymin>
<xmax>245</xmax>
<ymax>419</ymax>
</bndbox>
</object>
-<object>
<name>rickshaw</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>551</xmin>
<ymin>229</ymin>
<xmax>581</xmax>
<ymax>267</ymax>
</bndbox>
</object>
-<object>
<name>rickshaw</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>849</xmin>
<ymin>211</ymin>
<xmax>870</xmax>
<ymax>240</ymax>
</bndbox>
</object>
-<object>
<name>rickshaw</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>854</xmin>
<ymin>191</ymin>
<xmax>872</xmax>
<ymax>208</ymax>
</bndbox>
</object>
-<object>
<name>rickshaw</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>395</xmin>
<ymin>250</ymin>
<xmax>437</xmax>
<ymax>286</ymax>
</bndbox>
</object>
-<object>
<name>rickshaw</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>626</xmin>
<ymin>209</ymin>
<xmax>653</xmax>
<ymax>240</ymax>
</bndbox>
</object>
-<object>
<name>motorbike</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>863</xmin>
<ymin>241</ymin>
<xmax>882</xmax>
<ymax>268</ymax>
</bndbox>
</object>
-<object>
<name>car</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>218</xmin>
<ymin>252</ymin>
<xmax>289</xmax>
<ymax>285</ymax>
</bndbox>
</object>
-<object>
<name>car</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>495</xmin>
<ymin>216</ymin>
<xmax>531</xmax>
<ymax>244</ymax>
</bndbox>
</object>
-<object>
<name>car</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>485</xmin>
<ymin>201</ymin>
<xmax>520</xmax>
<ymax>219</ymax>
</bndbox>
</object>
-<object>
<name>three wheelers (CNG)</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>254</xmin>
<ymin>347</ymin>
<xmax>298</xmax>
<ymax>418</ymax>
</bndbox>
</object>
-<object>
<name>three wheelers (CNG)</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>398</xmin>
<ymin>307</ymin>
<xmax>457</xmax>
<ymax>353</ymax>
</bndbox>
</object>
-<object>
<name>three wheelers (CNG)</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>240</xmin>
<ymin>290</ymin>
<xmax>303</xmax>
<ymax>344</ymax>
</bndbox>
</object>
-<object>
<name>pickup</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>933</xmin>
<ymin>176</ymin>
<xmax>959</xmax>
<ymax>197</ymax>
</bndbox>
</object>
-<object>
<name>three wheelers (CNG)</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>709</xmin>
<ymin>188</ymin>
<xmax>728</xmax>
<ymax>207</ymax>
</bndbox>
</object>
-<object>
<name>minivan</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>575</xmin>
<ymin>213</ymin>
<xmax>600</xmax>
<ymax>244</ymax>
</bndbox>
</object>
-<object>
<name>car</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>530</xmin>
<ymin>212</ymin>
<xmax>549</xmax>
<ymax>237</ymax>
</bndbox>
</object>
-<object>
<name>minivan</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>592</xmin>
<ymin>187</ymin>
<xmax>633</xmax>
<ymax>197</ymax>
</bndbox>
</object>
-<object>
<name>suv</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>616</xmin>
<ymin>198</ymin>
<xmax>654</xmax>
<ymax>212</ymax>
</bndbox>
</object>
-<object>
<name>suv</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>879</xmin>
<ymin>161</ymin>
<xmax>918</xmax>
<ymax>179</ymax>
</bndbox>
</object>
-<object>
<name>minivan</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>850</xmin>
<ymin>151</ymin>
<xmax>882</xmax>
<ymax>166</ymax>
</bndbox>
</object>
-<object>
<name>rickshaw</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>844</xmin>
<ymin>191</ymin>
<xmax>856</xmax>
<ymax>211</ymax>
</bndbox>
</object>
-<object>
<name>van</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>827</xmin>
<ymin>174</ymin>
<xmax>852</xmax>
<ymax>194</ymax>
</bndbox>
</object>
-<object>
<name>pickup</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
-<bndbox>
<xmin>410</xmin>
<ymin>226</ymin>
<xmax>452</xmax>
<ymax>252</ymax>
</bndbox>
</object>
</annotation>
CODE
tree=ET.parse(path
root=tree.getroot()
objects=root.findall('annotation')
for obj in objects:
width=int(obj.find('width').text)
name=obj.find('bus').text
bndbox=obj.find('bndbox')
xmin=int(bndbox.find('xmin').text)
ymin=int(bndbox.find('ymin').text)
xmax=int(bndbox.find('xmax').text)
ymax=int(bndbox.find('ymax').text)
bbox=(width,name,xmin,ymin,xmax,ymax)
print(bbox)