from graphviz import Graph import os import xml.etree.cElementTree as ET graph = Graph('G', filename='sb_first.gv', engine='dot', format="svg") graph.clear() graph.attr(bgcolor='white', label='agraph', fontcolor='white', splines="ortho") graph.attr('node', fixedsize="false", shape='box') topics = [] edges = [] home = "C:/Users/Xenus/Desktop/Projects/NosferatuZodd/storage/categories" raw_aiml = '' for aimls in list(os.walk(home))[0][2]: tree = ET.ElementTree(file=home + '/' + aimls) for topic in tree.findall('topic'): topics.append(topic.attrib['name']) for child in topic.getiterator(): if child.tag == 'set' and child.attrib['name'] == 'topic': edges.append((topic.attrib['name'], child.text)) topic_names = [ ' арты', ' арты', 'ѕартнерские услуги', '—траховка', 'ƒополнительные опции', 'ћедицинские услуги', 'TV-медицина', '¬торое экспертное мнение', 'ќпасные заболевани¤', 'Priority Pass', ' арты', '”слови¤', '”правление', '—бербанк ѕервый', ' редит без поручител¤', ' редит с поручителем', '¬клады', 'Ћидер —охран¤й', 'Ћидер ѕополн¤й', 'Ћидер ”правл¤й', 'ќблигации', '—бербанк ѕремьер', '¬клады', 'ќсобый —охран¤й', 'ќсобый ѕополн¤й', 'ќсобый ”правл¤й', '—ейф', '—берта' ] topic_list = zip(topics, topic_names)