Функция loadtxt()

loadtxt(fname, dtype=float, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False)

(начиная с версии 1.0.3)

Создает массив и загружает в него данные из ASCII файла fname.
В каждой строке файла должно находиться одинаковое количество чисел.
fname может быть как строкой-именем файла, так и объектом "файл". Если файл имеет расширение .gz, автоматически происходит его распаковка.

Для примера заведем файл 'test.dat':

1    5
2    6
3    7
4    8
5    9

Теперь загрузим его:
>>> X = loadtxt('test.dat')
>>> X
array([[ 1.,  5.],
       [ 2.,  6.],
       [ 3.,  7.],
       [ 4.,  8.],
       [ 5.,  9.]])
>>> X[:,1]
array([ 5.,  6.,  7.,  8.,  9.])

dtype: тип элементов полученного массива. Если тип данных является записью, вместо матрицы будет создан вектор из записей. В этом случае число полей в строке должно быть равно числу полей записи.

comments: символ, которым начинается комментарий.

delimiter: строка, разделяющая поля внутри строки. Если delimiter не указан или равен None, разделителем считается любая последовательность из пробелов и табуляторов.

converters: или None, или словарь, ставящий в соответствие номеру колонки функцию, которая преобразовавает поле из строки в тип float. Например, если в колонке 0 содержится дата, то для ее чтения понадобится указать converters={0:datestr2num}

skiprows: число строк с начала файла, которые надо пропустить.

usecols: или None, или последовательность целых чисел, обозначающих номера колонок (считая от 0), которые будут считываться. Например, usecols=(1,4,5) прочитает 2-ю, 5-ю и 6-ю колонки.

unpack: если равно True, результат будет транспонирован, и его можно будет распаковать в переменные-векторы:

>>> t,y = loadtxt('test.dat', unpack=True)
>>> t
array([ 1.,  2.,  3.,  4.,  5.])
>>> y
array([ 5.,  6.,  7.,  8.,  9.])
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-Share Alike 2.5 License.