边表node值非连续改为连续
import networkx as nx
from time import strftime, localtime
def updateFile ( file , old_str, new_str) :
file_data = ""
with open ( file , "r" , encoding= "utf-8" ) as f:
for line in f:
for i in range ( len ( old_str) ) :
if old_str[ i] in line:
line = line. replace( old_str[ i] , new_str[ i] )
file_data += line
with open ( file , "w" , encoding= "utf-8" ) as f:
f. write( file_data)
def main ( ) :
address = "com-amazon.txt"
G = nx. read_edgelist( address, create_using= nx. Graph( ) )
nodes = list ( G. nodes)
nodes_keep = [ ]
nodes_new = [ ]
nodes_need = [ ]
for node in nodes:
if int ( node) < len ( nodes) :
nodes_keep. append( node)
else :
nodes_new. append( node)
nodes_temp = [ ]
for ij in range ( len ( nodes) ) :
nodes_temp. append( str ( ij) )
nodes_need = list ( set ( nodes_temp) - set ( nodes_keep) )
print ( len ( nodes_need) )
print ( len ( nodes_new) )
updateFile( r"com-amazon.txt" , nodes_new, nodes_need)
if __name__ == '__main__' :
main( )