CSV: Create New Headerline
2 views (last 30 days)
Show older comments
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 Comments
Cedric
on 6 May 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 (?)
Accepted Answer
Cedric
on 6 May 2013
Edited: Cedric
on 6 May 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 Comments
More Answers (0)
See Also
Categories
Find more on Text Files in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!