numpy.savetxt#

numpy.savetxt(fname, X, fmt='%.18e', разделитель=' ', новая строка='\n', header='', нижний колонтитул='', комментарии='# ', кодировка=None)[источник]#

Сохранить массив в текстовый файл.

Параметры:
fnameимя файла, файловый дескриптор или pathlib.Path

Если имя файла заканчивается на .gz, файл автоматически сохраняется в сжатом формате gzip. loadtxt прозрачно понимает gzip-файлы.

X1D или 2D array_like

Данные для сохранения в текстовый файл.

fmtstr или последовательность strs, опционально

Один формат (%10.5f), последовательность форматов или многоформатную строку, например 'Iteration %d – %10.5f', в этом случае разделитель игнорируется. Для комплексных X, допустимые варианты для fmt являются:

  • один спецификатор, fmt='%.4e', в результате числа форматируются как ' (%s+%sj)' % (fmt, fmt)

  • полная строка, указывающая каждую действительную и мнимую часть, например, ' %.4e %+.4ej %.4e %+.4ej %.4e %+.4ej' для 3 столбцов

  • список спецификаторов, по одному на столбец - в этом случае действительная и мнимая части должны иметь отдельные спецификаторы, например. ['%.3e + %.3ej', '(%.15e%+.15ej)'] для 2 столбцов

разделительstr, optional

Строка или символ, разделяющий столбцы.

новая строкаstr, optional

Строка или символ, разделяющий строки.

headerstr, optional

Строка, которая будет записана в начале файла.

нижний колонтитулstr, optional

Строка, которая будет записана в конце файла.

комментарииstr, optional

Строка, которая будет добавлена в начало header и footer строк, чтобы пометить их как комментарии. По умолчанию: ‘# ‘, как ожидается, например, numpy.loadtxt.

кодировка{None, str}, опционально

Кодировка, используемая для кодирования выходного файла. Не применяется к выходным потокам. Если кодировка отличается от 'bytes' или 'latin1', вы не сможете загрузить файл в версиях NumPy < 1.14. По умолчанию используется 'latin1'.

Смотрите также

save

Сохранить массив в двоичный файл в NumPy .npy формат

savez

Сохранить несколько массивов в несжатый .npz архив

savez_compressed

Сохранить несколько массивов в сжатый .npz архив

Примечания

Дополнительное объяснение fmt параметр (%[flag]width[.precision]specifier):

флаги:

- : выравнивание по левому краю

+ : Принудительное добавление + или - перед результатом.

0 : Заполнить число слева нулями вместо пробелов (см. width).

ширина:

Минимальное количество символов для вывода. Значение не обрезается, если содержит больше символов.

точность:
  • Для целочисленных спецификаторов (например, d,i,o,x), минимальное количество цифр.

  • Для e, E и f спецификаторы, количество цифр для печати после десятичной точки.

  • Для g и G, максимальное количество значащих цифр.

  • Для s, максимальное количество символов.

спецификаторы:

c : character

d или i : знаковое десятичное целое число

e или E : научная нотация с e или E.

f : десятичная плавающая запятая

g,G : использовать более короткий из e,E или f

o : знаковое восьмеричное

s : строка символов

u : беззнаковое десятичное целое число

x,X : беззнаковое шестнадцатеричное целое число

Это объяснение fmt не является полным, для исчерпывающей спецификации см. [1].

Ссылки

[1]

Мини-язык спецификации формата, Документация Python.

Примеры

>>> import numpy as np
>>> x = y = z = np.arange(0.0,5.0,1.0)
>>> np.savetxt('test.out', x, delimiter=',')   # X is an array
>>> np.savetxt('test.out', (x,y,z))   # x,y,z equal sized 1D arrays
>>> np.savetxt('test.out', x, fmt='%1.4e')   # use exponential notation