Schreiben von Daten in Textdateien
Exportieren Sie tabellarische Daten, die in Tabellen, Zellen-Arrays oder numerischen Arrays enthalten sind, aus dem MATLAB®-Workspace in Textdateien.
Exportieren einer Tabelle in eine Textdatei
Sie können tabellarische Daten aus dem MATLAB®-Workspace mit der writetable
-Funktion in eine Textdatei exportieren. Erstellen Sie eine Beispieltabelle, schreiben Sie die Tabelle in eine Textdatei und schreiben Sie dann die Tabelle in eine Textdatei mit zusätzlichen Optionen.
Erstellen Sie eine Beispieltabelle T
, die die Variablen Pitch
, Shape
, Price
und Stock
enthält.
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
Exportieren Sie die Tabelle T
in eine Textdatei mit dem Namen tabledata.txt
. Zeigen Sie den Inhalt der Datei an. Standardmäßig schreibt writetable
kommagetrennte Daten und enthält die Namen der Tabellenvariablen als Spaltenüberschriften.
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
Erstellen Sie eine Tabelle T2
, die Zeilennamen enthält, indem Sie das Name-Werte-Paar-Argument RowNames
verwenden.
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
Exportieren Sie T2
in eine Tabulator-getrennte Textdatei mit dem Namen tabledata2.txt
. Verwenden Sie das Name-Werte-Paar-Argument Delimiter
, um ein Tabulatortrennzeichen anzugeben, und das Name-Werte-Paar-Argument WriteRowNames
, um Zeilennamen einzuschließen. Zeigen Sie den Inhalt der Datei an.
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
Exportieren eines Zellen-Arrays in eine Textdatei
Sie können ein Zellen-Array auf eine der folgenden Arten aus dem MATLAB®-Workspace in eine Textdatei exportieren:
Verwenden Sie die Funktion „writecell“, um das Zellen-Array in eine Textdatei zu exportieren.
Verwenden Sie
fprintf
, um das Zellen-Array zu exportieren, indem Sie das Format der Ausgabedaten angeben.
Erstellen Sie ein Beispiel-Zellen-Array 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'}
Exportieren Sie das Zellen-Array mit writecell
.
writecell(C,'data.dat')
Zeigen Sie den Inhalt der Datei an.
type data.dat
Atkins,32,77.3,M Cheng,30,99.8,F Lam,31,80.2,M
Alternativ dazu können Sie das Zellen-Array auch mit fprintf
importieren. Öffnen Sie eine beschreibbare Datei mit dem Namen celldata.dat
. Definieren Sie formatSpec
mithilfe der Formatbezeichner, um das Muster der Daten in der Datei zu beschreiben. Typische Formatbezeichner sind '%s'
für einen Zeichenvektor, '%d'
für eine Ganzzahl oder '%f'
für eine Gleitkommazahl. Trennen Sie jeden Formatbezeichner mit einem Leerzeichen, um ein Leerzeichen als Begrenzungszeichen für die Ausgabedatei anzugeben. Fügen Sie am Ende jeder Datenzeile ein Zeilenumbruchzeichen ('\n'
) ein.
fileID = fopen('celldata.dat','w'); formatSpec = '%s %d %2.1f %s\n';
Bestimmen Sie die Größe von C
und exportieren Sie jeweils eine Datenzeile mit der fprintf
-Funktion. Schließen Sie dann die Datei. fprintf
schreibt eine durch Leerzeichen getrennte Datei.
[nrows,ncols] = size(C); for row = 1:nrows fprintf(fileID,formatSpec,C{row,:}); end fclose(fileID);
Zeigen Sie den Inhalt der Datei an.
type celldata.dat
Atkins 32 77.3 M Cheng 30 99.8 F Lam 31 80.2 M
Exportieren eines numerischen Arrays in eine Textdatei
Mit writematrix
können Sie ein numerisches Array in eine Textdatei exportieren.
Erstellen Sie ein numerisches Array 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
Schreiben Sie das numerische Array in myData.dat
und legen Sie als Begrenzungszeichen ';'
fest. Zeigen Sie dann den Inhalt der Datei an.
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
Siehe auch
writematrix
| writecell
| writetimetable
| fprintf
| type
| writetable