我必须读取并存储一个由3列和N行组成的数据文件*块数...这里有一个简单的例子:
z=3
1 2 3
2 5 6
1 5 7
z=2
1 3 9
2 5 7
这是读取此文件并使用python存储几个z行块的最佳方法吗?
编辑:我必须将它们存储到一个单独的块(索引)中,例如在上面的例子中我应该有
block[0]=[[1 2 3],[2 5 6],[1 5 7]]
block[1] = [[1 3 9],[2 57]]
@shahaf e来自lo indicizzo? scusa ma sono un noob in python :)
有些人能解释我如何指出几个街区?特别是我写了z= N
但实际上它是
ZONE I= 41 F=POINT TIME T= 0.0000715363
我必须抓住41 ..并阅读并存储以下41行,而不是在几条白线后我遇到另一个ZONE
部分..我不知道我有多少个区域档案..
答案 0 :(得分:2)
以下是解决方案的简单草稿,可以简化,但您可以从这里开始
tmp_arr= list()
output=list()
with open('file.txt') as f:
for line in f.readlines():
if len(line.strip()) == 0:
pass
elif line.startswith('z='):
counter = int(line.split('=')[-1])
else:
tmp_arr.append(line.split())
counter -= 1
if counter == 0:
output.append(tmp_arr)
tmp_arr = list()
输出
[[['1', '2', '3'], ['2', '5', '6'], ['1', '5', '7']], [['1', '3', '9'], ['2', '5', '7']]]