Как иметь две ведущие пробелы, используя savetxt в Numpy

Bob спросил: 03 февраля 2018 в 12:44 в: python

Я готовлю файл в Python для чтения в Fortran. Файл выглядит следующим образом:

 0.0000000E+00  0.0000000E+00  0.0000000E+00  1.5000000E-01
 1.0193980E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01
 2.0387960E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01
 3.0581940E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01
 4.0775920E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01
 5.0969900E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01
 6.1163880E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01
 7.1357860E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01
 8.1551840E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01

начинается с одного ведущего пробела, а затем расстояние между столбцами становится 2 пробелами. Исполняемый файл Fortran, который у меня есть (нет доступа к исходному коду), читает и записывает формат E15.7, что означает, что мне нужны две ведущие пробелы, такие как:

  0.0000000E+00  0.0000000E+00  0.0000000E+00  1.5000000E-01
  1.0193980E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01
  2.0387960E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01
  3.0581940E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01
  4.0775920E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01
  5.0969900E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01
  6.1163880E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01
  7.1357860E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01
  8.1551840E-02  0.0000000E+00  0.0000000E+00  1.5000000E-01

Мой скрипт python, который создает файл, выглядит следующим образом:

np.savetxt(fpath, data, fmt='%14.7E')

Если я использую fmt='%15.7E', ведущие пробелы становятся двумя, а остальные пробелы будут 3 .


0 ответов