textread

Считайте данные из текстового файла; запишите в несколько выходных параметров

Примечание

textread не рекомендуется. Использование textscan вместо этого.

Синтаксис

[A,B,C,...] = textread(filename,format)
[A,B,C,...] = textread(filename,format,N)
[...] = textread(...,param,value,...)

Описание

[A,B,C,...] = textread(filename,format) считывает данные из файла filename в переменные ABC, и так далее, с помощью заданного format, пока целый файл не читается. Задайте filename и format входные параметры как векторы символов или строковые скаляры. textread полезно для чтения текстовых файлов с известным форматом. textread указатели и файлы фиксированного и свободного формата.

Примечание

При чтении файлов крупного текста, чтении из отдельного момента в файле или чтении данных о файле в массив ячеек, а не несколько выходных параметров, вы можете предпочесть использовать textscan функция.

textread соответствия и преобразуют группы символов от входа. Каждое поле ввода задано как группа непробельных символов, которая расширяет к следующему пробелу или символу-разделителю, или к максимальной ширине поля. Повторные символы-разделители являются значительными, в то время как повторные пробельные символы обработаны как один.

format введите в виде вектора символов или строкового скаляра, определяет номер и типы возвращаемых аргументов. Количество возвращаемых аргументов является количеством элементов, обозначенных содержимым formatформат поддерживает подмножество спецификаторов преобразования и соглашения языка C fscanf стандартная программа. Значения для format перечислены в таблице ниже. Пробельные символы в format проигнорированы.

формат

Действие

Вывод

Литералы

(обычные символы)

Проигнорируйте соответствующие символы. Например, в файле, который имеет Dept сопровождаемый номером (для номера отдела), чтобы пропустить Dept и только для чтения номер, используйте 'Dept' в спецификаторе формата format.

'none'

%d

Считайте значение целого числа со знаком.

Двойной массив

%u

Считайте целочисленное значение.

Двойной массив

%f

Считайте значение с плавающей точкой.

Двойной массив

%s

Считайте пробел или разделенный от разделителя текст.

Массив ячеек из символьных векторов

%q

Считайте дважды заключенный в кавычки текст, игнорируя кавычки.

Массив ячеек из символьных векторов

%c

Считайте символы, включая пробел.

Массив символов

%[...]

Считайте самую длинную группу символов, содержащих символы, заданные в скобках.

Массив ячеек из символьных векторов

%[^...]

Считайте самую длинную непустую группу символов, содержащих символы, которые не заданы в скобках.

Массив ячеек из символьных векторов

%*...
вместо %

Проигнорируйте соответствующие символы, заданные *.

Никакой выход

W...
вместо %

Считайте ширину поля, заданную w. %f формат поддерживает %w.pf, где w ширина поля и p точность.

 

[A,B,C,...] = textread(filename,format,N) считывает данные, снова используя формат, заданный в formatN времена, где N целое число, больше, чем нуль. Если N меньше, чем нуль, textread читает целый файл.

[...] = textread(...,param,value,...) настраивает textread использование param/value пары, как перечисленный в таблице ниже.

параметрический усилитель

значение

Действие

bufsize

Положительное целое число

Задает максимальную длину вектора символов, в байтах. Значением по умолчанию является 4095.

commentstylematlab

Игнорирует символы после %.

commentstyleshell

Игнорирует символы после #.

commentstylec

Игнорирует символы между /* и */.

commentstylec++

Игнорирует символы после //.

delimiter

Один или несколько символов

Закон как разделители между элементами. Значение по умолчанию не ни один.

emptyvalue

Скаляр дважды

Значение, данное пустым ячейкам, когда чтение разграничило файлы. Значение по умолчанию 0.

endofline

Отдельный символ или '\r\n'

Символ, который обозначает конец линии.

Значение по умолчанию определяется из файла

expchars

ExponentCharacters

Значением по умолчанию является eEdD.

headerlines

Положительное целое число

Игнорирует конкретное количество линий в начале файла.

whitespace

Любой из списка ниже:

Вектор обработок из символов как пробел. Значением по умолчанию является ' \b\t'.

' '
B
N
R
T

Пробел
Клавиша Backspace
Новая строка
Возврат каретки
Горизонтальная табуляция

Примечание

Когда textread читает последовательную серию whitespace значения, это обрабатывает их как один пробел. Когда это читает последовательную серию delimiter значения, это обрабатывает каждого как отдельный разделитель.

Примеры

Пример 1 - чтение все поля в файле свободного формата Используя %

Первая линия mydata.dat

Sally    Level1 12.34 45 Yes

Прочитайте первую строку файла как файл свободного формата с помощью % формат.

[names, types, x, y, answer] = textread('mydata.dat', ...
'%s %s %f %d %s', 1)

возвращается

names = 
    'Sally'
types = 
    'Level1'
x =
  12.34000000000000
y =
    45
answer = 
    'Yes'

Пример 2 - чтение как файл фиксированного формата, игнорируя значение с плавающей точкой

Первая линия mydata.dat

Sally    Level1 12.34 45 Yes

Прочитайте первую строку файла как файл фиксированного формата, игнорируя значение с плавающей точкой.

[names, types, y, answer] = textread('mydata.dat', ...
'%9c %6s %*f %2d %3s', 1)

возвращается

names =
Sally    
types = 
    'Level1'
y =
    45
answer = 
    'Yes'

%*f в format причины textread проигнорировать значение с плавающей точкой, в этом случае, 12.34.

Пример 3 - чтение Используя литерал, чтобы проигнорировать соответствие с символами

Первая линия mydata.dat

Sally    Type1 12.34 45 Yes

Прочитайте первую строку файла, игнорируя символы Type во втором поле.

[names, typenum, x, y, answer] = textread('mydata.dat', ...
'%s Type%d %f %d %s', 1)

возвращается

names = 
    'Sally'
typenum =
    1
x =
  12.34000000000000
y =
    45
answer = 
    'Yes'

Определение Type%d в format вызывает символы Type во втором поле, которое будет проигнорировано, в то время как остальная часть второго поля читается как целое число со знаком, в этом случае, 1.

Пример 4 - задает значение, чтобы заполнить пустые ячейки

Для файлов с пустыми ячейками используйте emptyvalue параметр. Предположим файл data.csv содержит:

1,2,3,4,,6
7,8,9,,11,12

Считайте файл с помощью NaN заполнять любые пустые ячейки:

data = textread('data.csv', '', 'delimiter', ',', ... 
                'emptyvalue', NaN);

Пример 5 - файл чтения в Массив ячеек из символьных векторов

Считайте файл fft.m в массив ячеек из символьных векторов.

file = textread('fft.m', '%s', 'delimiter', '\n', ...
                'whitespace', '');

Советы

Если вы хотите сохранить начальные и конечные пробелы в тексте, используйте whitespace параметр как показано здесь:

textread('myfile.txt', '%s', 'whitespace', '')
ans = 
    '   An  example      of preserving    spaces      '

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

| |

Представлено до R2006a