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

Экспортируйте табличные данные, содержавшиеся в таблицах, массивах ячеек или числовых массивах от рабочей области 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

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

| | | | |

Для просмотра документации необходимо авторизоваться на сайте