import xml.dom.minidom
import json
####获取有问题图片的电站ID与具体帧号
root_path = 'D:/zkys-drp/work/光伏/可见光训练数据'
img_dirs = os.listdir(root_path)
json_dict = {}
for img_dir in img_dirs:
if '九江沙岭光伏电站' in img_dir:
#print('img_dir:', img_dir)
xml_root = os.path.join(root_path,img_dir) + '/H'
xml_list = os.listdir(xml_root)
for xml_file in xml_list:
xml_path = os.path.join(xml_root, xml_file)
#print(xml_path)
DOMTree = xml.dom.minidom.parse(xml_path)
doc = DOMTree.documentElement
path = doc.getElementsByTagName("path")[0]
fullpath = path.childNodes[0].data
power_id = '/'.join(fullpath.split('/')[4:6])+'/' + xml_file
#print(power_id)
frame_ = doc.getElementsByTagName("irfps")[0]
frame = frame_.childNodes[0].data
json_dict[power_id] = frame
#print('frame:', frame)
#print('json_dict:', len(json_dict))
with open("九江沙岭光伏电站.json", "w") as f:
f.write(json.dumps(json_dict, ensure_ascii=False, indent=4, separators=(',', ':'))) #, indent=4, separators=(',', ':')
rm_path = 'rm001.txt'
json_path = '九江沙岭光伏电站.json'
with open(json_path) as f:
data = ''
while True:
line = f.readline()
#print('1111:', line)
if not line:
break
#if 'imageData' in line:
# continue
data += line.rstrip()
data = json.loads(data)
#print('data:',len(data))
num = 0
rm_dict = {}
with open(rm_path, 'r', encoding='utf-8') as f:
rm_list = f.readlines()
for rm_info in rm_list:
rm_ = rm_info.split('\\')
power_ = os.path.splitext(rm_[-1].rstrip())[0]+'.xml'
power_id = 'zklfh20t_20200924181730_九江沙岭光伏电站/' + rm_[0] + '/'+power_
#print(power_id)
#if power_id in data.keys():
# num+=1
# print(power_id)
rm_dict[power_id] = data[power_id]
with open("九江沙岭光伏电站_fault.json", "w") as f:
f.write(json.dumps(rm_dict, ensure_ascii=False, indent=4, separators=(',', ':'))) #, indent=4, separators=(',', ':')
#print(rm_dict, len(rm_dict))