所以我有一个统一格式的文本文件,我试图根据“cluster”这个词下面的行数来解析它。到目前为止,这是我的代码:
f = open('file.txt', 'r')
main_output = open('mainoutput.txt', 'w')
minor_output = open('minoroutput.txt', 'w')
f_lines = f.readlines()
main_list = []
minor_list = []
for n, line in enumerate(open('file.txt')):
if 'cluster' in line:
if 'cluster' in f_lines[n+1] or f_lines[n+2] or f_lines[n+3]:
minor_list.append(line)
minor_list.append(f_lines[n+1])
minor_list.append(f_lines[n+2])
minor_list.append(f_lines[n+3])
if 'cluster' not in f_lines[n+1] or f_lines[n+2] or f_lines[n+3]:
main_list.append(line)
main_list.append(f_lines[n+1])
main_list.append(f_lines[n+2])
main_list.append(f_lines[n+3])
minor_output.write(''.join(minor_list))
main_output.write(''.join(main_list))
f.close()
main_output.close()
minor_output.close()
文本文件的格式如下:
>Cluster 1
line 1
line 2
line 3
...
>Cluster 2
line 1
line 2
...
and so on for many clusters.
每个簇下面都有可变数量的行,从 1 到 100+。我有兴趣按每个集群中的行数(项目)对这些集群进行排序。此代码有效,但两个输出文件相同。对我的代码或策略的任何帮助都会很棒!