国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python XML轉Json之XML2Dict的使用方法

2020-02-16 00:09:08
字體:
來源:轉載
供稿:網友

1. Json讀寫方法

def parseFromFile(self, fname):  """  Overwritten to read JSON files.  """  f = open(fname, "r")  return json.load(f)def serializeToFile(self, fname, annotations):  """  Overwritten to write JSON files.  """  f = open(fname, "w")  json.dump(annotations, f, indent=4, separators=(',', ': '), sort_keys=True)  f.write("/n")

2. xml文件的工具包XML2Dict

將xml轉換成Python本地字典對象, 訪問子元素和字典常用方法類似,略有不同, 使用 “.”

注: 使用xml2dict庫,需要在本地項目添加 xml2dict.py, object_dict.py,下載鏈接

加載xml文件

from xml2dict import XML2Dictxml = XML2Dict()r = xml.parse("待處理文件名.xml") 

xml示例[voc2007格式]:

<annotation>  <folder>VOC2007</folder>  <filename>AL_00001.JPG</filename>  <size>    <width>800</width>    <height>1160</height>    <depth>3</depth>  </size>  <object>    <name>l_faster</name>    <pose>Unspecified</pose>    <truncated>0</truncated>    <difficult>0</difficult>    <bndbox>      <xmin>270</xmin>      <ymin>376</ymin>      <xmax>352</xmax>      <ymax>503</ymax>    </bndbox>  </object>  <object>    <name>l_faster</name>    <pose>Unspecified</pose>    <truncated>0</truncated>    <difficult>0</difficult>    <bndbox>      <xmin>262</xmin>      <ymin>746</ymin>      <xmax>355</xmax>      <ymax>871</ymax>    </bndbox>  </object>  <object>    <name>r_faster</name>    <pose>Unspecified</pose>    <truncated>0</truncated>    <difficult>0</difficult>    <bndbox>      <xmin>412</xmin>      <ymin>376</ymin>      <xmax>494</xmax>      <ymax>486</ymax>    </bndbox>  </object>  <object>    <name>r_faster</name>    <pose>Unspecified</pose>    <truncated>0</truncated>    <difficult>0</difficult>    <bndbox>      <xmin>411</xmin>      <ymin>748</ymin>      <xmax>493</xmax>      <ymax>862</ymax>    </bndbox>  </object></annotation>

分析下這個文件的格式:

最外一層被<annotation></annotation>包圍

往里一層是:<file_name></file_name>,<size></size>,<object></object>,其中object是列表,包括name和bndbox,示例訪問annotation下級元素

# -*- coding: utf-8 -*-from xml2dict import XML2Dictxml = XML2Dict()r = xml.parse('Annotations/AL_00001.xml')for item in r.annotation:  print itemprint '------------'for item in r.annotation.object:  print item.name, item.bndbox.xmin, item.bndbox.xmax, item.bndbox.ymin, item.bndbox.ymax            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 靖远县| 高雄市| 宜都市| 台北市| 福州市| 黄平县| 绥化市| 南漳县| 应城市| 广元市| 昌平区| 成安县| 三穗县| 平山县| 长沙市| 大宁县| 荆门市| 恩施市| 九龙坡区| 永丰县| 长宁区| 宿松县| 乐安县| 睢宁县| 祁门县| 蕲春县| 吴江市| 青铜峡市| 柳河县| 报价| 迭部县| 湄潭县| 赞皇县| 马鞍山市| 阿坝| 昆明市| 枣阳市| 繁昌县| 清徐县| 收藏| 阿克苏市|