writing cell array to file

1 visualizzazione (ultimi 30 giorni)
Amjad Luna
Amjad Luna il 28 Feb 2020
Risposto: Sravya Pulavarthi il 12 Feb 2021
Hi,
I have a large text file with entries/lines that look like as follows.
-60,-69,""
-63,-77,""
-64,-79,""
-69,-85,""
-75,-91,""
-75,-91,""
-79,-77,""
I need to extract the first N (say three) lines and write them to another text file. I am doing the following.
fp_in=fopen(input_file_name, 'r');
inDump=textscan(fp_in, '%s%s%s', 'Delimiter', ',');
outDump={inDump{1}(1:3) inDump{2}(1:3) inDump{3}(1:3)};
T=cell2table(outDump);
writetable(T,output_file_name);
The output file comes out with the columns of the input file transposed. This is what I see in the output file.
-60,-63,-64,-69,-77,-79,"","",""
Thanks for any tips.
  2 Commenti
Walter Roberson
Walter Roberson il 28 Feb 2020
outDump={inDump{1}(1:3); inDump{2}(1:3); inDump{3}(1:3)};
Amjad Luna
Amjad Luna il 28 Feb 2020
Tried already. Gives me
-60,-63,-64
-69,-77,-79
"","","","",""

Accedi per commentare.

Risposta accettata

Sravya Pulavarthi
Sravya Pulavarthi il 12 Feb 2021
Hi Amjad, you can use readtable and writetable to do this:
>> r = readtable(input_file_name);
>> N = 3; % Since you want to extract the first 3 lines of your file
>> writetable(r(1:N,:), output_file_name, "QuoteStrings", true, "WriteVariableNames", false);

Più risposte (0)

Categorie

Scopri di più su Environment and Settings in Help Center e File Exchange

Prodotti


Release

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by