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

Экспортируйте табличные данные, содержавшиеся в таблицах, массивах ячеек или числовых массивах от рабочей области 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 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. U se аргумент в виде пар "имя-значение" 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® в текстовый файл одним из этих способов:

  • Преобразуйте массив ячеек, чтобы представить в виде таблицы и использовать writetable для экспорта это к текстовому файлу.

  • Используйте 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'}

Экспорт массив ячеек с помощью writetable. Во-первых, преобразуйте массив ячеек в таблицу при помощи функции cell2table. Затем, запишите таблицу в текстовый файл.

T = cell2table(C,'VariableNames',{'Name','Age','Result','Gender'});
writetable(T,'tabledata.dat');

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

type tabledata.dat
Name,Age,Result,Gender
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

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

Вы можете экспорт числовой массив к текстовому файлу с помощью dlmwrite. Функция dlmwrite , позволяет вам задать разделитель и числовую точность данных в файле.

Создайте числовой массив 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 и задайте разделитель, чтобы быть ';'. Затем просмотрите содержимое файла.

dlmwrite('myData.dat',A,'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

Экспорт числа в массиве, чтобы иметь точность десятичных разрядов 5. Затем просмотрите содержимое файла.

dlmwrite('myDataII.dat',A,'delimiter',';','precision','%.5f') 
type myDataII.dat
1.70000;2.40000;0.10000;0.80000;1.50000
2.30000;0.50000;0.70000;1.40000;1.60000
0.40000;0.60000;1.30000;2.00000;2.20000
1.00000;1.20000;1.90000;2.10000;0.30000
1.10000;1.80000;2.50000;0.20000;0.90000

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

| | |

Была ли эта тема полезной?