专栏首页python3python3-将xml文件转成json

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循环来找子节点,先完成任务,得改进,还不知道怎么改。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Scrapy框架-Spider

    Spider类定义了如何爬取某个(或某些)网站。包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中提取结构化数据(爬取item)。 换句话说,Spid...

    py3study
  • python学习(8)

    习题16:求以下矩阵四边元素之和 l = [ [1,2,3,4,5], [1,2,3,4,5], [1,2,3,4,5], [1,2,3,4,5], [1,...

    py3study
  • Python 中的for,if-else

    for 循环是一种迭代循环机制,迭代即重复相同的逻辑操作,每次的操作都是基于上一次的结果而进行的。并且for循环可以遍历任何序列的项目,如一个列表或者一个字符串

    py3study
  • webpack4.0各个击破(7)—— plugin篇

    plugin机制是webpack中另一个核心概念,它基于事件流框架tapable,你可以参考浏览器环境中的【DOM事件模型】,【SPA模型中的生命周期钩子】或是...

    大史不说话
  • webpack-dev-server启动后, localhost:8080返回index.html的原理

    webpack-dev-server是一个采用Node.js Express实现的微型服务器, 内部使用webpack-dev-middleware来响应发送到...

    Jerry Wang
  • 张星亮:SaaS没有错,但不要用新技术做美国十年前做的事

    SaaS颠覆传统软件到底是不是一个伪命题?SaaS死了吗?最近这些问题引起圈内讨论。

    人称T客
  • 新手学python-Day1-鸡汤,变量

    py3study
  • 性能优化篇---Webpack构建速度优化

    const Jarvis = require("webpack-jarvis"); plugins: [ new Jarvis({ watchO...

    keyWords
  • 跟我一起云计算(4)——lucene

    了解lucene的基本概念 这一部分可以参考我以前写的博客: http://www.cnblogs.com/skyme/tag/lucene/ lucene是什...

    cloudskyme
  • 一步一步学lucene——(第一步:概念篇)

    信息检索的概念 信息检索(Information Retrieval)是指信息按一定的方式组织起来,并根据信息用户的需要找出有关的信息的过程和技术。狭义的信息检...

    cloudskyme

扫码关注云+社区

领取腾讯云代金券