Effacer les filtres
Effacer les filtres

how to transform data from excel to tesx

3 vues (au cours des 30 derniers jours)
Muhsin
Muhsin le 19 Déc 2017
Commenté : Walter Roberson le 19 Déc 2017
Hello all; Can anyone please help me transform the data from excel to txt in a format like the attached file? Thank you very much

Réponse acceptée

Walter Roberson
Walter Roberson le 19 Déc 2017
fid_in = fopen('input.csv', 'rt');
fid_out = fopen('output_file.txt', 'wt');
colname_line = fgetl(fid_in);
colnames = regexp(colname_line, '\s*\t\s*', 'split');
colnames_formatted = sprintf('$#%8s%10s%10s%10s%10s%10s%10s%10s', colnames{:});
empty_formatted = blanks(80);
while true
thisline = fgetl(fid_in);
if ~ischar(thisline); break; end %end of file detected
vals_in = sscanf(thisline, '%f');
fprintf(fid_out, '*PART\n$# title\n%s\n%s\n', empty_formatted, colnames_formatted);
fprintf(fid_out, '%10g%10g%10g%10g%10g%10g%10g%10g\n', vals_in);
end
fclose(fid_in);
fclose(fid_out);
"Bug-for-bug compatible" as they say in the industry...
  2 commentaires
Muhsin
Muhsin le 19 Déc 2017
Dear Walter; I dont know what is wrong with csv format of previous attached file. I have corrected. Can you please new csv file that is attached to this comment?
Walter Roberson
Walter Roberson le 19 Déc 2017
Change
colnames = regexp(colname_line, '\s*\t\s*', 'split');
to
colnames = regexp(colname_line, ',', 'split');
Change
vals_in = sscanf(thisline, '%f');
to
vals_in = sscanf(thisline, '%f,');

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by