嗷嗷,网上找了个脚本
参考
,自己改成傻瓜模式的xml转化为json并进行写入。
import xmltodict
import json
# xml to json
def xmlToJson(xml_str):
try:
json_dict = xmltodict.parse(xml_str, encoding='utf-8')
json_str = json.dumps(json_dict, indent=2)
return json_str
except:
pass
# json to xml
def jsonToXml(json_str):
try:
json_dict = json.loads(json_str)
xml_str = xmltodict.unparse(json_dict, encoding='utf-8')
except:
xml_str = xmltodict.umparse({'request': json_dict}, encoding='utf-8')
finally:
return xml_str
# load xml file
def load_json(xml_path):
# 获取xml文件
xml_file = open(xml_path, 'r')
xml_str = xml_file.read()
# 将读取的xml字符串转换为字典
json_dict = xmltodict.parse(xml_str)
# 将字典转换为json格式的字符串
json_str = json.dumps(json_dict, indent=2)
return json_str
#现在要将xml转化为json
json_1=load_json( 'D:\crazing_1.xml')
with open('res.json', 'w',encoding='utf-8') as f:
f.write(json_1)
#json.dump(json_1, f)
#res.json是目标文件
现在就实现将crazing_1.xml转化为json并写入res.json了!
具体怎么批量写入还转化,明儿再研究下!我真是太蠢了哈哈哈哈哈哈
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
手打分割线!
写了一个很烂的批量转换并重命名 xml转json文件!
那叫一个难看啊……
import xmltodict
import json
import os
# xml to json
def xmlToJson(xml_str):
try:
json_dict = xmltodict.parse(xml_str, encoding='utf-8')
json_str = json.dumps(json_dict, indent=2)
print('222')
return json_str
except:
print('111')
pass
# json to xml
def jsonToXml(json_str):
try:
json_dict = json.loads(json_str)
xml_str = xmltodict.unparse(json_dict, encoding='utf-8')
except:
xml_str = xmltodict.umparse({'request': json_dict}, encoding='utf-8')
finally:
return xml_str
# load xml file
def load_json(xml_path):
# 获取xml文件
xml_file = open(xml_path, 'r')
xml_str = xml_file.read()
# 将读取的xml字符串转换为字典
json_dict = xmltodict.parse(xml_str)
# 将字典转换为json格式的字符串
json_str = json.dumps(json_dict, indent=2)
return json_str
#原始文件路径
path = "D:\\NEU-DET\\ANNOTATIONS"
filelist = os.listdir(path) #该文件夹下所有的文件(包括文件夹)
count=0
for file in filelist: #遍历所有文件
Olddir=os.path.join(path,file) #原来的文件路径
if os.path.isdir(Olddir): #如果是文件夹则跳过
continue
filename=os.path.splitext(file)[0] #文件名
filetype=os.path.splitext(file)[1] #文件扩展名
json_1 = load_json(path+"\\"+file)
#目标文件路径
newpath="D:\\NEU-DET\\JSON\\"
#目标文件路径+命名格式
Newdir = (newpath+'res'+str(count)+'.json')
print(Newdir)
with open(Newdir, 'w', encoding='utf-8') as f:
f.write(json_1)
count+=1
=============================================================================================
记录一条,批量图片命名,
参考博客
。
import os
path_name = r'D:\NEU-DET\IMAGES' # 批量修改的文件夹路径
i = 0 # 起始数字
for item in os.listdir(path_name):
original_name = os.path.join(path_name, item)
new_name = os.path.join(path_name, ('res'+str(i)+'.jpg'))
print(new_name)
os.rename(original_name, new_name) # 重命名
i += 1