Azzera filtri
Azzera filtri

How to import data (text and numbers) from a tabuled .dat file in MATLAB?

2 visualizzazioni (ultimi 30 giorni)
Hello everyone.
I need to read tabulated data from a file named 'Mechanism.dat,' which includes both numbers and words. Here are the first two lines of the .dat file as an example:
1.00 ch3och3 1.00 m 0.00 ND 1.00 ch3 1.00 ch3o 1.00 m 0.23E+20 -0.661 84139.
1.00 ch3och3 1.00 o2 0.00 ND 1.00 ch3och2 1.00 ho2 0.00 ND 0.41E+24 2.000 44910.
I tried using the command
table0 = readtable('Mechanism.dat', 'Delimiter', ' ', 'MultipleDelimsAsOne', true);
disp(table0)
however it replaces the words with the numerical value NaN. How can I overcome this issue?"

Risposta accettata

Sulaymon Eshkabilov
Sulaymon Eshkabilov il 4 Gen 2024
It is reading ok:
% *.data can be uploaded and thus, .txt file format is taken. Both works
% table0 = readtable('Mechanism.dat', 'Delimiter', ' ', 'MultipleDelimsAsOne', true);
table0 = readtable('Mechanism.txt', 'Delimiter', ' ', 'MultipleDelimsAsOne', true);
disp(table0)
Var1 Var2 Var3 Var4 Var5 Var6 Var7 Var8 Var9 Var10 Var11 Var12 Var13 Var14 Var15 ____ ___________ ____ ______ ____ ______ ____ ___________ ____ ________ _____ ______ _______ ______ _____ 1 {'ch3och3'} 1 {'m' } 0 {'ND'} 1 {'ch3' } 1 {'ch3o'} 1 {'m' } 2.3e+19 -0.661 84139 1 {'ch3och3'} 1 {'o2'} 0 {'ND'} 1 {'ch3och2'} 1 {'ho2' } 0 {'ND'} 4.1e+23 2 44910
% Alt. way is readcell
table1 = readcell('Mechanism.txt', 'Delimiter', ' ', 'MultipleDelimsAsOne', true);
disp(table1)
{[1]} {'ch3och3'} {[1]} {'m' } {[0]} {'ND'} {[1]} {'ch3' } {[1]} {'ch3o'} {[1]} {'m' } {[2.3000e+19]} {[-0.6610]} {[84139]} {[1]} {'ch3och3'} {[1]} {'o2'} {[0]} {'ND'} {[1]} {'ch3och2'} {[1]} {'ho2' } {[0]} {'ND'} {[4.1000e+23]} {[ 2]} {[44910]}

Più risposte (0)

Categorie

Scopri di più su Tables in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by