zoukankan      html  css  js  c++  java
  • python3-将xml文件转成json文件

    from xml.etree import ElementTree as et
    import json
    def readxml_et():
        tree = et.ElementTree(file="D:\vscode\xml2json\Annotations\timg.xml")
        root = tree.getroot()
        A = dict()
        listbigoption=[]
        for child_root in root:
            if child_root.tag == 'filename':
                imagePath = child_root.text
            if child_root.tag == 'object':
                listobject=dict()
                for xylabel in child_root:
                    if xylabel.tag == 'name':
                        label = xylabel.text                    
                    if xylabel.tag == 'polygon':
                        listpoints=[]
                        for pt in xylabel:
                            if pt.tag == 'pt':
                                listxy = []
                                for i in pt:                                
                                    if i.tag == 'x':
                                        listxy.append(int(i.text))
                                    if i.tag == 'y':
                                        listxy.append(int(i.text))
                                    listpoints.append(listxy)
                        listobject['points'] = listpoints
                        listobject['line_color'] = 'null'
                        listobject['label'] = label
                        listobject['fill_color'] = 'null'
                        listbigoption.append(listobject)
                    # print(listbigoption)
        A['lineColor'] = [0,255,0,128]
        A['imageData'] = 'imageData'
        A['fillColor'] = [255,0,0,128]
        A['imagePath'] = imagePath
        A['shapes'] = listbigoption
        A['flags'] = {}
        with open('1.json','w') as f:
            json.dump(A,f)
    
    readxml_et()
    

      同事给了我一个xml文件让我转成他想要的json格式

    代码用了好多for和if,用for循环来找子节点,先完成任务,得改进,还不知道怎么改。

  • 相关阅读:
    bootstrap 导航学习
    算法学习1-插入排序
    管道输入输出流
    1+2*2+3*3+4*4+...+n*n计算
    maven安装for eclipse kepler
    javascript学习7-细节总结
    Git Fetch failed解决办法
    前端学习笔记
    TIOBE 编程语言排行榜
    用VS2012创建和使用WebService
  • 原文地址:https://www.cnblogs.com/lely/p/9722822.html
Copyright © 2011-2022 走看看