Hello,
I´m trying to read this .txt (attached) file and store the values (54 columuns).
This is the code that I´m using
Name_1 = 'fffff.txt';
fid = fopen(Name_1,'r');
cell_data1= textscan(fid,'%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f','Delimiter','','headerLines',6,'CollectOutput',1);
fclose(fid);
But unfortunately the code is messing with the first two columns (data and time).
This is what it stores.
How can I skip those two and just store the remaining 52 columns?
Thanks in advance

댓글 수: 2

Look at the file —
C1 = readcell('https://www.mathworks.com/matlabcentral/answers/uploaded_files/1136490/fffff.txt')
C1 = 11×3 cell array
{'Run' } {[ 279]} {1×1 missing } {'Comment' } {1×1 missing } {1×1 missing } {'Runmap' } {'K_30_01_QS_yaw-sweep-vmax' } {1×1 missing } {'Customer' } {'Unk' } {1×1 missing } {'Date' } {'Time→Yaw→Lean→Vair→Pa→Ptr-P0→Temp→Hr→Rho→Fx→Fy→Fz→Mx→My→Mz→P1→P2→P3→P4→P5→P6→P7→P8→P9→P10→P11→P12→P13→P14→P15→P16→P17→P18→P19→P20→P21→P22→P23→P24→P25→P26→P27→P28→P29→P30→P31→P32→Ffront wheel→Tin→Tout→Waterflow→Cooling power→Specific cooling power'} {1×1 missing } {'[°]→[°]→[m/s]→[Pa]→[Pa]→[°C]→[%]→[kg/m3]→[N]→[N]→[N]→[Nm]→[Nm]→[Nm]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[mbar→[mbar]→[mbar]→[mbar]→[mbar]→[mbar]→[N]→[°C]→[°C]→[L/min]→[W]→[W/K]'} {1×1 missing } {1×1 missing } {'02.08.2022→08' } {[ 58]} {'46.808→-0.0→0→42.451419→97440.000000→2747.840000→23.944000→48.167000→1.125151→190.029430→-1.040025→24.963842→5.668323→225.180367→-8.632680→4.973469→5.276467→6.254003→5.457921→4.365939→5.734513→6.224498→5.820748→1.492454→1.477490→2.035428→1.939299→2.402537→2.555415→3.348971→2.868781→6.134119→5.032489→5.684587→5.497022→5.423880→5.844911→7.126764→6.452095→3.440309→3.477351→3.658881→3.652628→3.494377→3.958303→3.761011→4.198308→0.000000→0.000000→0.000000→0.182638→0.000000→0.000000' } {'02.08.2022→08' } {[ 59]} {'52.358→-5.0→0→42.611887→97441.200000→2764.940000→24.322000→47.327000→1.123642→210.721356→-76.001284→26.071040→88.740052→252.588305→12.095614→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→0.000000→0.000000→0.000000→0.139043→0.000000→0.000000' } {'02.08.2022→09' } {[ 0]} {'57.896→-10.0→0→42.414539→97441.000000→2736.540000→24.640000→46.733000→1.122474→249.700103→-179.193928→34.067972→210.375328→299.671509→40.124381→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→NaN→0.000000→0.000000→0.000000→0.102659→0.000000→0.000000' } {'02.08.2022→09' } {[ 2]} {'16.453→5.0→0→42.469382→97440.000000→2740.790000→24.925000→46.182000→1.121315→210.274708→94.749321→27.919850→-99.283288→250.877907→-28.952380→4.254837→4.685409→5.643184→4.738926→3.920298→5.085000→5.891468→5.425929→1.222925→1.214788→1.716948→1.624163→2.045858→2.206987→2.927361→2.459074→6.248071→5.028299→5.852960→5.512444→5.526658→5.891837→7.146380→6.558506→3.254459→3.327796→3.516305→3.564396→3.464628→3.915232→3.770194→4.187859→0.000000→0.000000→0.000000→-0.029766→0.000000→0.000000' } {'02.08.2022→09' } {[ 3]} {'21.990→10.0→0→42.100788→97436.300000→2692.300000→25.098000→45.822000→1.120848→247.107995→207.510397→32.681409→-224.593804→296.968280→-47.728579→3.479251→4.014095→4.788371→3.987725→3.399686→4.275092→5.493334→4.896998→0.873039→0.861312→1.301504→1.230452→1.618516→1.763496→2.358921→1.973357→6.018073→4.736682→5.671217→5.442419→5.308567→5.637929→6.974420→5.938056→2.850111→2.953910→3.135825→3.192652→3.177201→3.663082→3.501401→3.934163→0.000000→0.000000→0.000000→0.004815→0.000000→0.000000'}
There does not appear to be anything in the file (other than a few dates and some integer values). There are 6 header lines, then a date (best read as a string or as a date — see Nonnumeric Fields in the formatSpec section of the documentation) and a single integer.
This is how it looks like :)

댓글을 달려면 로그인하십시오.

 채택된 답변

Geoff Hayes
Geoff Hayes 2022년 9월 26일

1 개 추천

@Fabio Taccaliti - perhaps instead you can use readtable to read the table from file and then extract the data you need. For example,
filename = 'fffff.txt';
tableData = readtable(Name_1,'Delimiter','\t','headerLines',6);
data = tableData(:,3:end);

댓글 수: 4

Fabio Taccaliti
Fabio Taccaliti 2022년 9월 26일
편집: Fabio Taccaliti 2022년 9월 26일
Thanks now it is working, can I tranform than to an array?
Geoff Hayes
Geoff Hayes 2022년 9월 26일
Yes, see table2array for the conversion.
Fabio Taccaliti
Fabio Taccaliti 2022년 9월 26일
편집: Fabio Taccaliti 2022년 9월 26일
I tried but I have this strange error
Error in untitled (line 10)
data = table2array(tableData);
Caused by:
Error using datetime/horzcat (line 1398)
All inputs must be datetimes or date/time character vectors or date/time strings.
Geoff Hayes
Geoff Hayes 2022년 9월 26일
There must be some invalid data in one of your date or time columns. You may need to glance through the data to figure out which field is invalid. Or exclude those columns altogether (which I thought is what you wanted to do?).

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

태그

질문:

2022년 9월 26일

댓글:

2022년 9월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by