Borrar filtros
Borrar filtros

how to transform data from excel to tesx

3 visualizaciones (últimos 30 días)
Muhsin
Muhsin el 19 de Dic. de 2017
Comentada: Walter Roberson el 19 de Dic. de 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

Respuesta aceptada

Walter Roberson
Walter Roberson el 19 de Dic. de 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 comentarios
Muhsin
Muhsin el 19 de Dic. de 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 el 19 de Dic. de 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,');

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by