我的文件结构如下:
Title = "test.txt"
variables = x,y,z
zone height=100m
x1, y1, z1
...
xn, yn, zn
zone height=020m
x1, y1, z1
...
xn, yn, zn
需要将其拆分为多个文件,从zone height = xxx行开始。这些输出文件的名称应为outfile_xxx.txt,其中xxx是高度值。
并不总是只有高度可以运行,所以它需要能够根据数量编写任意数量的输出文件
我一直在尝试下面和现在,它几乎按计划工作。我宁愿不写标题的占位符文件,但想不出跳过标题行的最简单方法
inp=open(inputfilename)
out=open('zplane_placeholder_for_header.dat','w')
for line in inp:
if line.startswith("zone"):
height=line[8:11]
out.close()
out=open('zplane'+str(height)+'.dat','w')
else:
out.write(line)
out.close()
答案 0 :(得分:0)
我已设法通过以下方式让我为此工作。
with open (inputfilename) as f:
next(f)
next(f)
for line in f:
if line.startswith("zone"):
height=line[8:11]
next(f)
out=open('zplane'+str(height)+'.dat','w')
else:
out.write(line)
out.close()