how to obtain comma delimited output
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Muhsin
le 14 Déc 2017
Commenté : Walter Roberson
le 14 Déc 2017
Hello; I am inexperienced in coding. can anyone help me please about my attached file. I would like to transpose some some data with a specific format in txt. The data may vary but i have made an example for you to understand it with an example output. The data in sheets and number of sheets in csv may change based on data i have. In attached csv file there is only one sheet for first set, however there are some other sheet in same format, but i could not add to csv file as multiple sheets. Any kind of help is appreciated. Thank you
1 commentaire
Image Analyst
le 14 Déc 2017
csv files can't have "sheets" since they're just flat text files. Only .xlsx files can have sheets.
Réponse acceptée
Walter Roberson
le 14 Déc 2017
S = fileread('input.csv');
newS = regexprep(S, {'^\*PART[^\n]*\n', '^(\d)'}, {'', '*PART\r\n$1'}, 'lineanchors');
fid = fopen('sample output.txt', 'w');
fwrite(fid, newS);
fclose(fid)
6 commentaires
Walter Roberson
le 14 Déc 2017
in_filename = 'input.xlsx';
out_filename = 'output.txt';
[filepath, basename, ext] = fileparts(in_filename);
[status, sheets] = xlsfinfo(in_filename);
if isempty(status)
error('file "%s" is not a readable excel sheet', in_filename);
end
allnum = [];
for idx = 1 : length(sheets)
thissheet = sheets{idx};
num = xlsread(in_filename, thissheet);
allnum = [allnum; num];
end
numcols = size(allnum, 2);
fmt = ['*PART\n', repmat('%f,', 1, numcols-1), '%f\n'];
[fid, msg] = fopen(out_filename, 'wt');
if fid < 0
error('Failed to open output file "%s" because "%s"', outfile, msg);
end
fprintf(fid, fmt, allnum.' ); %transpose is important
fclose(fid);
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Spreadsheets dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!