Effacer les filtres
Effacer les filtres

how to obtain comma delimited output

2 vues (au cours des 30 derniers jours)
Muhsin
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
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.

Connectez-vous pour commenter.

Réponse acceptée

Walter Roberson
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
Muhsin
Muhsin le 14 Déc 2017
Modifié(e) : Muhsin le 14 Déc 2017
it is not important to have the information of sheets in the data. I just want it have all the data in one txt file. Thank you
Walter Roberson
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);

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Characters and Strings 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!

Translated by