python批量json文件转xml文件脚本(附代码)
场景:在使用了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)
不太相信弯道超车,更欣赏仰望星空与脚踏实地