-1
import numpy as np
import re
def read_process_OD():
    OD = np.zeros([24, 24])
    lines=[]
    with open('Network_OD.txt','r') as f:
        lines=f.readlines()
    origin=[]
    for line in lines:
        if line.startswith('Origin')==True:
            pass
        else:
            origin.append(re.split(pattern=[':;'],string=lines))

#raw text is shown like this: #Origin 1

1 : 0.0; 2 : 100.0; 3 : 100.0; 4 : 500.0; 5 : ###200.0;

4

1 回答 1

0

我认为您试图从本文中获得的是python中所谓的“字典”。那么,让我们来看看答案。首先,你必须用“;”分割文本

splitted_text=raw_text.split(";")

你将会有:

["1 : 0.0", "2 : 100.0", "3 : 100.0", "4 : 500.0", "5 :200.0"]

这还不是字典。您可能已经猜到下一步是用“:”分割上面列表的每个元素。在这里,长话短说,我将进入最后一部分:

my_dict={}
for i in splitted_text:
    dict[int(i.split(":")[0])]=float(i.split(":")[1])

并且,通过这个,你将有一个准备好分析的字典,制作图表等:

{1:0.0,2:100.0,3:100.0,4:500.0,5:200.0}
于 2021-10-15T16:37:20.100 回答