本文整理汇总了Python中xml.etree.ElementTree.SubElement.attrib["label"]方法的典型用法代码示例。如果您正苦于以下问题:Python SubElement.attrib["label"]方法的具体用法?Python SubElement.attrib["label"]怎么用?Python SubElement.attrib["label"]使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类xml.etree.ElementTree.SubElement
的用法示例。
在下文中一共展示了SubElement.attrib["label"]方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: gexf_export
# 需要导入模块: from xml.etree.ElementTree import SubElement [as 别名]
# 或者: from xml.etree.ElementTree.SubElement import attrib["label"] [as 别名]
def gexf_export(most_cited, most_paired, works_list, cliques, suffix, output_directory=options.directory_name):
#Exports network data in .gexf format (readable by Gephi)
#John Mulligan -- not the prettiest, but it gets the job done and translates all the information exported in the d3_export module.
from xml.etree import ElementTree as et
from xml.etree.ElementTree import Element, SubElement, tostring
import os
try:
os.stat(output_directory)
except:
os.mkdir(output_directory)
suffix = suffix + '.gexf'
outfile_name = os.path.join('%s' % output_directory, suffix)
node_key ={node:counter for counter,node in enumerate(sorted(most_cited))}
##Create the tree
et.register_namespace('',"http://www.gexf.net/1.2draft")
et.register_namespace('viz','http://www.gexf.net/1.2draft/viz')
tree = et.ElementTree()
gexf = et.Element("gexf",{"xmlns":"http://www.gexf.net/1.2draft","version":"1.2"})
tree._setroot(gexf)
graph = SubElement(gexf,"graph",{'defaultedgetype':'undirected', 'mode':'dynamic', 'timeformat':'double'})
#more (graph) header information
graph_nodes_attributes = SubElement(graph,"attributes",{'class':'node','mode':'dynamic'})
graph_nodes_mod_att = SubElement(graph_nodes_attributes,"attribute",{'id':'modularity_class','title':'Modularity Class','type':'integer'})
graph_nodes_mod_att_content = SubElement(graph_nodes_mod_att,'default')
graph_nodes_mod_att_content.text = "0"
graph_nodes_score_att = SubElement(graph_nodes_attributes, "attribute", {'id':'score', 'title':'score', 'type':'integer'})
graph_nodes_score_att.text = ' '
graph_edges_attributes = SubElement(graph, "attributes", {'class':'edge', 'mode':'dynamic'})
graph_edges_mod_att = SubElement(graph_edges_attributes,"attribute",{'id':'weight', 'title':'Weight', 'type':'float'})
graph_edges_mod_att.text = ' '
nodes = SubElement(graph,"nodes")
edges = SubElement(graph,"edges")
#write nodes
for n in sorted(most_cited.keys()):
#create node in xml tree
node_dates = sorted([int(a) for a in most_cited[n]['count'].keys() if a != 'full_count'])
node_date_sizes = works_list[n]['count']
node_start_date = str(min(node_dates)) + ".0"
node = SubElement(nodes, "node")
node.attrib["start"] = node_start_date
node.attrib["end"] = '2016.0'
node.attrib["id"] = str(node_key[n])
node.attrib["label"] = n
#add attributes: clique, name
attributes_wrapper = SubElement(node, "attvalues")
clique_id = str(cliques[n])
clique = SubElement(attributes_wrapper, "attvalue", {"for":"modularity_class", "value":clique_id})
clique.text = ' '
#add attribute: visualization size
last = 0
##Each node's "count" attribute is set to a dictionary whose keys are the years it attained new references, and whose values are the number of new references it attained that year.
##The way this is configured right now, nodes only grow (no "decay" variable). size_ratchet keeps track of these size values
size_ratchet = 0
for nd in node_dates:
size_ratchet += node_date_sizes[str(nd)]
##set the start date as the year of the node's changing size...
this_size_start_date = str(nd) + ".0"
##and the end date as one year prior to the next change...
if node_dates.index(nd) + 1 == len(node_dates):
this_size_end_date = "2016.0"
else:
this_size_end_date = str(int(node_dates[node_dates.index(nd)+1])-1) + ".0"
this_size = str(size_ratchet)
size_atty = SubElement(attributes_wrapper, "attvalue", {"for":"score","value":this_size, "start":this_size_start_date, "end":this_size_end_date})
size_atty.text = ' '
#write edges
c = 0
for p in most_paired.keys():
id = str(c)
source = str(node_key[p[0]])
target = str(node_key[p[1]])
edge = SubElement(edges,"edge",{'source':source,'target':target,'id':id})
attributes_wrapper = SubElement(edge, "attvalues")
edge_dates = sorted([int(a) for a in most_paired[p].keys() if (a != 'full_count')])
edge_dates = [str(a) for a in edge_dates]
##see "size ratchet" above in gexf_export()
weight_ratchet = 0
for ed in edge_dates:
start_time = ed + ".0"
if weight_ratchet == 0:
clear_time_atty = SubElement(attributes_wrapper, "attvalue", {"for":"weight", "value":"0.0", "start":"1974.0", "end":start_time})
clear_time_atty.text = ' '
pair = most_paired[p]
#.........这里部分代码省略.........
示例2: gexf_export
# 需要导入模块: from xml.etree.ElementTree import SubElement [as 别名]
# 或者: from xml.etree.ElementTree.SubElement import attrib["label"] [as 别名]
def gexf_export(most_cited, most_paired, output_directory=options.directory_name):
#Exports network data in .gexf format (readable by Gephi)
#John Mulligan -- not the prettiest, but it gets the job done and translates all the information exported in the d3_export module.
from xml.etree import ElementTree as et
from xml.etree.ElementTree import Element, SubElement, tostring
import os
try:
os.stat(output_directory)
except:
os.mkdir(output_directory)
outfile_name = os.path.join('%s' % output_directory,'cites.gexf')
node_key ={node:counter for counter,node in enumerate(sorted(most_cited))}
##Create the tree
et.register_namespace('',"http://www.gexf.net/1.2draft")
et.register_namespace('viz','http://www.gexf.net/1.2draft/viz')
tree = et.ElementTree()
gexf = et.Element("gexf",{"xmlns":"http://www.gexf.net/1.2draft","version":"1.2"})
tree._setroot(gexf)
graph = SubElement(gexf,"graph",{'defaultedgetype':'undirected','mode':'static'})
#more (graph) header information
graph_attributes = SubElement(graph,"attributes",{'class':'node','mode':'static'})
graph_mod_att = SubElement(graph_attributes,"attribute",{'id':'modularity_class','title':'Modularity Class','type':'integer'})
graph_mod_att_content = SubElement(graph_mod_att,'default')
graph_mod_att_content.text = "0"
nodes = SubElement(graph,"nodes")
edges = SubElement(graph,"edges")
#write nodes
for n in sorted(most_cited):
#create node in xml tree
node = SubElement(nodes, "node")
node.attrib["id"] = str(node_key[n])
node.attrib["label"] = n
#add attributes: clique, name
attributes_wrapper = SubElement(node, "attvalues")
clique_id = str(cliques[n])
clique = SubElement(attributes_wrapper,"attvalue",{"for":"modularity_class","value":clique_id})
clique.text = ' '
#add attribute: visualization size
size = str(cited_works[n]['count'])
viz = SubElement(node,"{http://www.gexf.net/1.2draft/viz}size",{"value":size})
#write edges
c = 1
for p in most_paired:
id = str(c)
source = str(node_key[p[0]])
target = str(node_key[p[1]])
value = str(p[2]['weight'])
edge = SubElement(edges,"edge",{'id':id,'source':source,'target':target,'value':value})
c+=1
tree.write(outfile_name, xml_declaration = True, encoding = 'utf-8', method = 'xml')