边表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()