擅长:python、mysql、java
<p>最简单的方法可能是用所需的格式编写一个新文件。例如,您可以执行以下操作:</p>
<pre><code>with open(yourinputfile, 'rt') as f, open('output.txt', 'wt') as g:
for line in f:
pairs = [k.replace(' ', '') for k in line.split('i')][:-2]
g.write('j '.join(pairs) + 'j\n')
</code></pre>
<p>表达式<code>line.split('i')</code>在每个<code>i</code>字符处分割输入字符串。例如,如果该行是</p>
<pre><code> '0.633399474768199 - 0.0175109522504542i 0.337208501994460 + 0.00414157519417569i 0.462845433000816 + 0.0311199272434047i 0.248496359856117 + 0.000929998413548307i'
</code></pre>
<p><code>split(i)</code>将生成字符串列表</p>
<pre><code>['0.633399474768199 - 0.0175109522504542', ' 0.337208501994460 + 0.00414157519417569', ' 0.462845433000816 + 0.0311199272434047', ' 0.248496359856117 + 0.000929998413548307', '']
</code></pre>
<p>注意列表末尾的空字符串。<code>[:-2]</code>是一种拾取除最后一个字符串之外的所有字符串的方法。然后<code>k.replace(' ', '')</code>删除每对中的所有空格</p>
<p>然后<code>'j '.join(pairs) + 'j\n'</code>使用string类的<code>join</code>方法将一个<code>j </code>(注意空格)固定到除最后一个之外的每个对的末尾。我们在最后一行加上一个<code>j</code>和一个换行符,然后将其写入一个新文件</p>
<p>完成此操作后,您可以按照最初的意图使用<code>np.loadtxt</code></p>