我有个问题,希望你能帮我解决!我有一个txt,看起来像:
A100 1960
3 5
6 7
8 9
10 11
12 13
A200 1960
3 5
6 7
8 9
10 11
12 13
14 15
A300 1960
3 5
6 7
8 9
10 11
12 13
14 15
16 17
我想搜索关键字,例如A200 1960
。现在我想把A200 1960
和A300 1960
之间的所有数字保存在array(x, y)
中。你知道吗
我设法跳到了我想要的那一行。现在的问题是写入数组直到第A300 1960
行。数组的长度也可以变化。你知道吗
def readnumbers(filename,number,year):
number_year = np.asarray([])
f = open(filename)
lines = f.readlines()
f.close()
strings_number = 'A'+ str(number)
strings_year = ' ' + str(year)
STARTER = strings_number+ '' + strings_year
start_seen = False
for line in lines:
if line.strip() == STARTER:
start_seen = True
continue
if start_seen == True:
parts = line.split()
数组将包含要保存的数字 输出
[['3', '5'], ['6', '7'], ['8', '9'], ['10', '11'], ['12', '13'], ['14', '15']]
设置
start_seen
后,使用标准list
存储每一行。还要检查每一行是否是“STOPPER”行,这样就可以停止对文件的迭代。你知道吗此外:
with
语句打开文件,这样就不必手动关闭它。你知道吗readlines()
,而是直接遍历文件句柄。你知道吗if variable == True:
,只要勾选if variable:
试试这个:
用法:
输出:
相关问题 更多 >
编程相关推荐