Запись данных в текстовые файлы

Экспорт табличных данных, содержащихся в таблицах, массивах ячеек или числовых массивах, из MATLAB® рабочей области в текстовые файлы.

Экспорт таблицы в текстовый файл

Можно экспортировать табличные данные из рабочей области MATLAB ® в текстовый файл с помощью writetable функция. Создайте пример таблицы, запишите таблицу в текстовый файл, а затем запишите таблицу в текстовый файл с дополнительными опциями.

Составьте пример таблицы, T, содержащая переменные Pitch, Shape, Price и Stock.

Pitch = [0.7;0.8;1;1.25;1.5];
Shape = {'Pan';'Round';'Button';'Pan';'Round'};
Price = [10.0;13.59;10.50;12.00;16.69];
Stock = [376;502;465;1091;562];
T = table(Pitch,Shape,Price,Stock)
T=5×4 table
    Pitch      Shape       Price    Stock
    _____    __________    _____    _____

     0.7     {'Pan'   }       10     376 
     0.8     {'Round' }    13.59     502 
       1     {'Button'}     10.5     465 
    1.25     {'Pan'   }       12    1091 
     1.5     {'Round' }    16.69     562 

Экспортируйте таблицу, T, в текстовый файл с именем tabledata.txt. Просмотрите содержимое файла. По умолчанию writetable записывает разделенные запятыми данные, включает имена табличных переменных в качестве заголовков столбца.

writetable(T,'tabledata.txt');
type tabledata.txt
Pitch,Shape,Price,Stock
0.7,Pan,10,376
0.8,Round,13.59,502
1,Button,10.5,465
1.25,Pan,12,1091
1.5,Round,16.69,562

Создайте таблицу T2 который включает имена строк, использующих RowNames аргумент пары "имя-значение".

rowNames = {'M4';'M5';'M6';'M8';'M10'};
T2 = table(Pitch,Shape,Price,Stock,'RowNames',rowNames)
T2=5×4 table
           Pitch      Shape       Price    Stock
           _____    __________    _____    _____

    M4      0.7     {'Pan'   }       10     376 
    M5      0.8     {'Round' }    13.59     502 
    M6        1     {'Button'}     10.5     465 
    M8     1.25     {'Pan'   }       12    1091 
    M10     1.5     {'Round' }    16.69     562 

Экспорт T2 в текстовый файл с разделителями табуляции с именем tabledata2.txt. Используйте Delimiter аргумент пары "имя-значение" для задания разделителя табуляции и WriteRowNames аргумент пары "имя-значение", включающий имена строк. Просмотрите содержимое файла.

writetable(T2,'tabledata2.txt','Delimiter','\t','WriteRowNames',true);
type tabledata2.txt
Row	Pitch	Shape	Price	Stock
M4	0.7	Pan	10	376
M5	0.8	Round	13.59	502
M6	1	Button	10.5	465
M8	1.25	Pan	12	1091
M10	1.5	Round	16.69	562

Экспорт массива ячеек в текстовый файл

Можно экспортировать массив ячеек из рабочей области MATLAB ® в текстовый файл одним из следующих способов:

  • Используйте функцию writecell, чтобы экспортировать массив ячеек в текстовый файл.

  • Использование fprintf для экспорта массива ячеек путем определения формата выходных данных.

Создайте образец массива ячеек C.

C = {'Atkins',32,77.3,'M';'Cheng',30,99.8,'F';'Lam',31,80.2,'M'}
C = 3×4 cell array
    {'Atkins'}    {[32]}    {[77.3000]}    {'M'}
    {'Cheng' }    {[30]}    {[99.8000]}    {'F'}
    {'Lam'   }    {[31]}    {[80.2000]}    {'M'}

Экспортировать массив ячеек можно используя writecell.

writecell(C,'data.dat')

Просмотрите содержимое файла.

type data.dat
Atkins,32,77.3,M
Cheng,30,99.8,F
Lam,31,80.2,M

Другой способ - импортировать массив ячеек с помощью fprintf. Откройте файл, который можно записать в именованные celldata.dat. Определите formatSpec использование спецификаторов формата для описания шаблона данных в файле. Типичные спецификаторы формата включают '%s' для вектора символов, '%d' для целого числа или '%f' для числа с плавающей запятой. Разделите каждый спецификатор формата пространства, чтобы указать разделитель пробел для выхода файла. Включите символ новой строки в конец каждой строки данных ('\n').

fileID = fopen('celldata.dat','w');
formatSpec = '%s %d %2.1f %s\n';

Определите размер C и экспортировать по одной строке данных за раз, используя fprintf функция. Затем закройте файл. fprintf записывает файл с разделителем пробел.

[nrows,ncols] = size(C);
for row = 1:nrows
    fprintf(fileID,formatSpec,C{row,:});
end
fclose(fileID);

Просмотрите содержимое файла.

type celldata.dat
Atkins 32 77.3 M
Cheng 30 99.8 F
Lam 31 80.2 M

Экспорт числового массива в текстовый файл

Можно экспортировать численный массив в текстовый файл, используя writematrix.

Создайте числовой массив A.

A = magic(5)/10 
A = 5×5

    1.7000    2.4000    0.1000    0.8000    1.5000
    2.3000    0.5000    0.7000    1.4000    1.6000
    0.4000    0.6000    1.3000    2.0000    2.2000
    1.0000    1.2000    1.9000    2.1000    0.3000
    1.1000    1.8000    2.5000    0.2000    0.9000

Запишите числовой массив в myData.dat и укажите разделитель, который будет ';'. Затем просмотрите содержимое файла.

writematrix(A,'myData.dat','Delimiter',';')  
type myData.dat
1.7;2.4;0.1;0.8;1.5
2.3;0.5;0.7;1.4;1.6
0.4;0.6;1.3;2;2.2
1;1.2;1.9;2.1;0.3
1.1;1.8;2.5;0.2;0.9

См. также

| | | | |