Hauptinhalt

Die Übersetzung dieser Seite ist veraltet. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

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

| | | | |