CSV: Create New Headerline

5 次查看(过去 30 天)
Amanda
Amanda 2013-5-6
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 个评论
Cedric
Cedric 2013-5-6
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 2013-5-6
编辑:Amanda 2013-5-6
Yes -- there are commas. I will edit it.

请先登录,再进行评论。

采纳的回答

Cedric
Cedric 2013-5-6
编辑:Cedric 2013-5-6
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 个评论
Amanda
Amanda 2013-5-6
WOW! Thanks. You have been one of the most helpful forum members. And most of all, I am learning so much.
Cedric
Cedric 2013-5-6
You're welcome, I'm glad it helps!

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by