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')]]
或者使用数据帧。或者在文件中循环并记忆最近从中看到的
值。