CSV: Create New Headerline

2 vues (au cours des 30 derniers jours)
Amanda
Amanda le 6 Mai 2013
In a CSV file, I would like to replace (delete) a headerline, first line, and create a new headerline. So the CSV file is (for this example I applied extra spaces to make it more readable):
State, Tornado, Hurricane, Earthquake,
Texas, 34, 5, 0,
Indiana, 8, 0, 2,
California, 2, 2, 20,
North Carolina, 1, 10, 1,
So now I need to delete the first headerline and replace it with a new headerline -- ST TOR HUR EAR -- see below:
ST, TOR, HUR, EAR,
Texas, 34, 5, 0,
Indiana, 8, 0, 2,
California, 2, 2, 20,
North Carolina, 1, 10, 1,
Thanks,
Amanda
  2 commentaires
Cedric
Cedric le 6 Mai 2013
I still don't know whether there are commas in your CSV file or if the content is really like what is written in your question (?)
Amanda
Amanda le 6 Mai 2013
Modifié(e) : Amanda le 6 Mai 2013
Yes -- there are commas. I will edit it.

Connectez-vous pour commenter.

Réponse acceptée

Cedric
Cedric le 6 Mai 2013
Modifié(e) : Cedric le 6 Mai 2013
Assuming that there is no comma but tabs ( \t ) as delimiters, I give you one way to do it:
% - Read input file data content (without header).
fid_in = fopen('myFile.csv', 'r') ; % Open input file for reading.
fgetl(fid_in) ; % Skip header line in input file.
content = fread(fid_in) ; % Read rest of input file.
fclose(fid_in) ; % Close input file.
% - Write output file: new header + previous data content.
fid_out = fopen('myFile_newHeader.csv', 'w') ; % Open input file for writing.
fprintf(fid_out, 'ST\tTOR\tHUR\tEAR\n') ; % Output new header.
fwrite(fid_out, content) ; % Output previous data content.
fclose(fid_out) ; % Close output file.
  2 commentaires
Amanda
Amanda le 6 Mai 2013
WOW! Thanks. You have been one of the most helpful forum members. And most of all, I am learning so much.
Cedric
Cedric le 6 Mai 2013
You're welcome, I'm glad it helps!

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by