如何在一行中存储每个数组

时间:2019-08-13 16:32:10

标签: python arrays numpy

我是python中的一个新手,我有一个类似

的数组
[[ 5.2897942e+01  2.2989739e-02  1.9979945e+00  7.9999998e-02]
 [ 5.3750526e+01  1.9291429e-01  2.0269539e+00  0.0000000e+00]
 [ 5.3803116e+01  3.6183926e-01  2.0289137e+00  0.0000000e+00]
 ...
 [ 3.8401384e+00 -1.4381756e+00 -1.7735560e+00  3.4000000e-01]
 [ 3.8257158e+00 -1.4192016e+00 -1.7645701e+00  2.5000000e-01]
 [ 4.0923753e+00 -1.5071962e+00 -1.8955611e+00  0.0000000e+00]]

我需要将每个数组保存为txt文件中的一行,例如:

5.2897942e+01  2.2989739e-02  1.9979945e+00  7.9999998e-02
5.3750526e+01  1.9291429e-01  2.0269539e+00  0.0000000e+00
....

我该怎么办

1 个答案:

答案 0 :(得分:0)

可能是您想要的。如果没有,请更精确地描述为什么它不能解决您的问题。

array = [[5.2897942e+01, 2.2989739e-02, 1.9979945e+00, 7.9999998e-02],
         [5.3750526e+01, 1.9291429e-01, 2.0269539e+00, 0.0000000e+00],
         [3.8401384e+00, -1.4381756e+00, -1.7735560e+00, 3.4000000e-01],
         [3.8257158e+00, -1.4192016e+00, -1.7645701e+00, 2.5000000e-01]]

with open('/tmp/numbers.txt', 'w') as f:
    for row in array:
        f.write('  '.join('{0:.7e}'.format(n) for n in row) + '\n')

只需将/tmp/numbers.txt替换为您选择的文件名即可。