У меня есть файл, содержимое которого указано ниже. Я хочу прочитать первый столбец каждого набора строк, ограниченного сверху #number
и снизу /
. Я использую numpy .loadtxt, чтобы загрузить первый столбец в список, затем записываю список в другой файл. После этого я обнуляю список, чтобы использовать его для второго набора строк, расположенных между #number
и /
. Когда я запускаю код, упомянутый ниже, результат просто повторяется #10
. Переменная j относится к строке, с которой должен начинаться список.
Вот файл данных:
.
.
.
10.6591 11.6682 0
11.8203 11.085 0
/
#2010
1.04278 0.737555 0
1.53289 2.65857 0
0.608964 2.99816 0
4.09402 2.37107 0
.
.
10.7983 8.63822 0
8.88198 9.40865 0
9.07551 10.4474 0
10.1997 10.6621 0
10.681 11.6815 0
11.8465 11.0525 0
/
#2020
1.09799 0.748961 0
1.53974 2.69157 0
0.529959 2.99443 0
.
.
.
Вот мой код:
f=open("no_header_run.txt","r")
ff=open("f_s.txt","w")
parsing=False
i=0
for line in f:
if line.startswith("#"):
parsing=True
ff.write("#"+str(10*i)+"\n")
continue
if parsing:
if line.startswith("/"):
parsing=False
continue
j=2*(i+1)+121*i
x=np.loadtxt("no_header_run.txt", skiprows=j, usecols=(0,), unpack=True, max_rows=121)
continue
for k in range(len(x)):
ff.write("%5.6f \n" % x[k])
i=i+1
x=[]
f.close()
ff.close()
Может кто-нибудь помочь мне понять, в чем проблема?