任意の長さで、任意の文字を含めることができ、各行を空白で開始し、いくつかのテキストファイルの形式を持つ多くのコンテンツの一般的なファイルに特定のブロックがあります。
1\1\GINC-NODE9999\Scan\...
... ... ... ... ... ... ...
... ... ... ... ...\HF=-568
.8880019,-568.2343213, -568
.2343432, ... , -586.328492
1\RMSD=...
との間にある特定のシーケンスに興味が\HF=
あります\RMSD=
。 これらの数値を Python リストに入れたいと思います。このシーケンスはカンマで区切られた一連の数字ですが、これらの数字は 2 行目に繰り越すことができます。また、改行にロールオーバーすると壊れる可能性があり \HF=
ます。\RMSD
現在の取り組み
私は現在、次のものを持っています:
with open(infile) as data:
d1 = []
start = '\\HF'
end = 'RMSD'
should_append = False
for line in data:
if start in line:
data = line[len(start):]
d1.append(data)
should_append=True
elif end in line:
should_append = False
break
elif should_append:
d1.append(line)
次のリストを吐き出します
['.6184082129,7.5129238742\\\\Version=EM64L-G09RevC.01\\
State=1-A\\HF=-568\n', ' .8880019,-568.8879907,-568.8879686,
-568.887937,-\n']
問題は、全体に改行があるだけでなく、必要以上のデータを保持していることです。さらに、他の行にロールオーバーする番号には、リスト内の独自の配置が与えられます。私はそれが次のように見える必要があります
['-568.8880019', '-568.8879907', ... ]