Python 创建';从';和';至';分支数据

Python 创建';从';和';至';分支数据,python,python-2.7,list,Python,Python 2.7,List,我有一个正在读取的文本文件。它看起来像这样: #from | to | value 1 - --- 2 100 3 - --- 4 300 5 400 6 500 7 - --- 8 700 9 800 我需要

我有一个正在读取的文本文件。它看起来像这样:

#from |   to   |  value

1         -       ---
          2       100
3         -       ---
          4       300
          5       400
          6       500
7         -       ---
          8       700
          9       800
我需要一种方法以from:to:value形式表示此数据

我知道如何逐行读取文本文件,然而,棘手的部分是可以有多个分支,例如从3到4、从3到5、从3到6

我怎样才能以这样一种方式来表示这些数据,以便以后可以循环并从中读取

干杯


编辑:我试图创建一个包含所有数据的列表,例如[3,[(4300),(5400),(6500)]…],但我无法让它工作,而且似乎效率很低。欢迎任何想法

只需阅读每一行并使用for循环即可

下面是文本文件的外观

代码如下所示

result = []

with open("/Users/l2017006/Documents/fun/test/aa.csv") as f:
    tmp_from = 0
    for i in  f.readlines():
        line_element = i.split()
        if len(line_element) == 3:
            tmp_from = line_element[0]
            result.append([tmp_from])
        else:
            result[-1].append([(line_element[0], line_element[1])])


for i in result:
    print(i)
结果如下

['1', [('2', '100')]]
['3', [('4', '300')], [('5', '400')], [('6', '500')]]
['7', [('8', '700')], [('9', '800')]]

或者使用数据帧。或者在文件中循环并记忆最近从中看到的
值。