我得到一个程序的输出数据文件,它看起来像这样,每个时间步有多行:
0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00 \n 0.0000E+00 0.0000E+00 0.0000E+00 0.0000E+00
7.9819E-06 1.7724E-02 2.3383E-02 3.0048E-02 3.8603E-02 4.9581E-02 \n 5.6635E-02 4.9991E-02 3.9052E-02 3.0399E-02
....
我想把它分成十列
我制作了一个Python脚本,使用正则表达式删除\n适当的行,但我认为应该有一种更简单更优雅的方法来执行此操作,下面是我的脚本:
^{pr2}$
您可以在每一行(或一组客户机)上使用
split()
来生成一个字符串列表,每个字符串包含一个数字,使用<string>.join(<list_of_numbers>)
将它们连接到一个新行中。在你可以试试简单的
如果所有数据都可以作为单个字符串读取(使用
^{pr2}$data = f.read()
),则还可以:并如上所述使用
single_list
。在如果输入文件很大,并且创建临时列表时出现内存问题,可以尝试以下操作:
我能想到的最简单的解决方案就是使用numpy:
你得到的是一本你能用的字典
^{pr2}$或者,如果您有标题,请使用:
相关问题 更多 >
编程相关推荐