python批量json文件转xml文件脚本(附代码)

系统 1593 0

场景:在使用了mask rcnn跑实验后标注了大量地json格式文件,现在打算使用yolo和faster rcnn 跑实验 所以需要将之前地json文件转为xml

      但是找了很久,没发现有批量处理的代码,所以自己写了一个,经测可用。

使用方法:将我代码拷贝入一个python文件中;修改34和35行对应参数json_path和xml_path,分别代表要转的json文件主目录(有json文件的上一级目录)和xml文件存放目录

                  ps:前面加r是表示取消转义符  下附代码 ====

            
               1
            
            
              #
            
            
               --------------------------------------------------------
            
            
               2
            
            
              #
            
            
               Written by JianFeng Liu, based on python
            
            
               3
            
            
              #
            
            
               json file transform to xml file automatically
            
            
               4
            
            
              #
            
            
               --------------------------------------------------------
            
            
               5
            
            
              import
            
            
               xmltodict

            
            
               6
            
            
              import
            
            
               json

            
            
               7
            
            
              import
            
            
               os

            
            
               8
            
            
               9
            
            
              #
            
            
               json to xml
            
            
              10
            
            
              def
            
            
               jsonToXml(json_str):

            
            
              11
            
            
              try
            
            
              :

            
            
              12
            
                     xml_str=
            
              ""
            
            
              13
            
                     xml_str = xmltodict.unparse(json_str, encoding=
            
              '
            
            
              utf-8
            
            
              '
            
            
              )

            
            
              14
            
            
              except
            
            
              :

            
            
              15
            
                     xml_str = xmltodict.unparse({
            
              '
            
            
              request
            
            
              '
            
            : json_str}, encoding=
            
              '
            
            
              utf-8
            
            
              '
            
            
              )

            
            
              16
            
            
              finally
            
            
              :

            
            
              17
            
            
              return
            
            
               xml_str

            
            
              18
            
            
              19
            
            
              def
            
            
               json_to_xml(json_path,xml_path):

            
            
              20
            
            
              if
            
            (os.path.exists(xml_path)==
            
              False):

            
            
              21
            
            
                      os.makedirs(xml_path)

            
            
              22
            
                 dir =
            
               os.listdir(json_path)

            
            
              23
            
            
              for
            
             file 
            
              in
            
            
               dir:

            
            
              24
            
                     file_list=file.split(
            
              "
            
            
              .
            
            
              "
            
            
              )

            
            
              25
            
                     with open(os.path.join(json_path,file), 
            
              '
            
            
              r
            
            
              '
            
            
              ) as load_f:

            
            
              26
            
                         load_dict =
            
               json.load(load_f)

            
            
              27
            
                     json_result =
            
               jsonToXml(load_dict)

            
            
              28
            
                     f = open(os.path.join(xml_path,file_list[0]+
            
              "
            
            
              .xml
            
            
              "
            
            ), 
            
              '
            
            
              w
            
            
              '
            
            , encoding=
            
              "
            
            
              UTF-8
            
            
              "
            
            
              )

            
            
              29
            
            
                      f.write(json_result)

            
            
              30
            
            
                      f.close()

            
            
              31
            
            
              32
            
            
              if
            
            
              __name__
            
             == 
            
              '
            
            
              __main__
            
            
              '
            
            
              :

            
            
              33
            
            
              34
            
                 json_path=r
            
              "
            
            
              G:\jianfeng\project\rubblish_det\source\train_pic_json\111
            
            
              "
            
            
              #
            
            
              该目录为存放json文件的路径  ps:目录中只能存放json文件
            
            
              35
            
                 xml_path=r
            
              "
            
            
              G:\jianfeng\project\rubblish_det\source\train_pic_json\222
            
            
              "
            
            
              #
            
            
              该目录为放xml文件的路径
            
            
              36
            
                 json_to_xml(json_path,xml_path)
          

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论