<p>这不是最干净的,但似乎有效:</p>
<ul>
<li>我在减号<code>-</code>之前创建空格,以便以后在数字之间分割</li>
<li>由于上一点的副作用,我删除了<code>E -</code>的空格</li>
<li>我删除了用<code>replace(" \\n", "")</code>硬写的<code>\n</code>文本</li>
<li>我也删除了“下一行”字符<code>\n</code></li>
<li>我用<code>[11:]</code>删除了前11个字符(例如:<code>ADMAS</code>)</li>
</ul>
<pre><code>filename = "data.txt"
string_fnd_1 = "ADMAS"
textfile = open(filename, 'r')
file_lines = textfile.readlines()
textfile.close()
new_file_lines = []
for li in file_lines:
new_line = li.replace("-", " -").replace("E -", "E-").replace(" \\n", "").replace("\n", "")[11:]
if string_fnd_1 in li:
new_file_lines.append(new_line)
matches_admas = [line.split() for line in new_file_lines]
print(matches_admas)
</code></pre>
<p>输出:</p>
<pre><code>[
['8.046E+03', '8.206E-03', '1.532E+04', '1.066E-01', '6.982E+06', '-2.820E+00'],
['-6.868E-03', '2.009E+05', '1.454E-02', '9.516E+05', '-1.209E+00', '6.058E+06'],
['1.543E+04', '9.179E-01', '1.459E+06', '5.463E+00', '3.918E+07', '-2.904E+01'],
['-2.267E-01', '9.537E+05', '3.902E+00', '3.071E+07', '-1.344E+02', '1.073E+08'],
['7.005E+06', '2.260E+01', '3.978E+07', '6.296E+01', '7.586E+09', '-2.125E+03'],
['1.093E+00', '6.052E+06', '-6.178E+00', '1.065E+08', '-1.416E+03', '1.941E+09']
]
</code></pre>