tree = et.ElementTree(root) with open('../txt/EnsaiosFotograficos.txt', encoding="utf8") as f: txt = f.read() clean_text = unicodedata.normalize("NFKD", txt) lines = clean_text.splitlines() for line in lines: if not line or bool(re.match(r'\s\s*', line)): print("linha vazia") else: spl = line.split(',') strnome = spl[0] nomeinstituicao = util.get_instituicao(strnome) strnome = util.removeparenteses(strnome.replace(nomeinstituicao, "")) strensaio = line.replace(spl[0]+',', "") resen = strensaio.split("#") partic = et.SubElement(root, "participante") nomeparticipante = et.SubElement(partic, "nome") nomeparticipante.text = util.getnome(strnome) if nomeinstituicao != "": instituicao = et.SubElement(partic, 'instituicao') instituicao.text = nomeinstituicao for ensaio in resen: en = et.SubElement(partic, "ensaio") ennome = et.SubElement(en, "nome") res = re.search(r'\s\d\d\d\d\s', ensaio) if res is not None: ano = res.group(0)
if bool(resano): anotxt = resano.group(0) continue vencedor = et.SubElement(root, "vencedor") nome = et.SubElement(vencedor, 'nome') txtnome = line.split(',')[0] nome.text = util.getnome(txtnome) res = re.search(r"(\d\d\d\d),?\s?(\d\d\d\d)?", line) if bool(res): ano = et.SubElement(vencedor, "ano") ano.text = res.group(1) if res.group(2) is not None: ano = et.SubElement(vencedor, "ano") ano.text = res.group(1) else: ano = et.SubElement(vencedor, "ano") ano.text = util.removeparenteses(anotxt) f.close() # prettify xml formatedXML = minidom.parseString(et.tostring(root)).toprettyxml(indent=" ").strip() # print(formatedXML) # tree.write('diretorias.xml', method='xml') # write the formatedXML to file. with io.open("../xml/ConcursosFordAnpocs.xml", "w+", encoding="utf-8") as f: f.write(formatedXML)
root = et.Element('grupos') tree = et.ElementTree(root) with open('../txt/GruposDeTrabalho.txt', encoding="utf8") as f: txt = f.read() clean_text = unicodedata.normalize("NFKD", txt) lines = clean_text.splitlines() for line in lines: if not line or bool(re.match(r'\s\s*', line)): print("linha vazia") else: res = re.findall(r'\d\d\d\d', line) ehgrupo = bool(res) if (ehgrupo): grupo = util.removeparenteses(line) gp = et.SubElement(root, "grupo") nome = et.SubElement(gp, "nome_grupo") nome.text = grupo.strip() for linha in res: ano = et.SubElement(gp, 'ano') ano.text = linha else: nomeparticipante = util.getnome(line) instituicao = util.get_instituicao(line) participante = et.SubElement(gp, "participante") np = et.SubElement(participante, "nome_participante") np.text = nomeparticipante.strip() if (instituicao != ""): inst = et.SubElement(participante, "instituicao") inst.text = instituicao.strip()
for matchNum, match in enumerate(matches): matchNum = matchNum + 1 #print("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum=matchNum, start=match.start(), end=match.end(), match=match.group())) for groupNum in range(0, len(match.groups())): groupNum = groupNum + 1 if groupNum == 1: vencedor = et.SubElement(root, "vencedor") nomeVencedor = et.SubElement(vencedor, "nomevencedor") nomeVencedor.text = match.group(groupNum).strip() if groupNum == 3: instituicao = et.SubElement(vencedor, "instituicao") instituicao.text = util.removeparenteses(match.group(groupNum)) if groupNum == 4: ano = et.SubElement(vencedor, "ano") ano.text = match.group(groupNum) if groupNum == 5: painel = et.SubElement(vencedor, "painel") painel.text = match.group(groupNum).strip() f.close() # prettify xml formatedXML = minidom.parseString( et.tostring(root)).toprettyxml(indent=" ").strip() # print(formatedXML) # tree.write('diretorias.xml', method='xml')