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