MATLAB Answers

Get "@" back in a table header (R2017b) when saving

48 views (last 30 days)
JM
JM on 23 Feb 2021
Answered: JM on 26 Feb 2021
I have got a tabulated data-set which contains "@" in its coloum header (e.g name@domain). When loading this table in Matlab (R2017b) this header gets replaced by name_domain.
I need to do some post-processing on the data and the need the correct header back (i.e. with "@") in the final post processed data when saved as ascii file.
How to achive this in Matlab R2017b?

Answers (2)

Matt J
Matt J on 23 Feb 2021
Edited: Matt J on 23 Feb 2021
For example,
T=table(1,'VariableNames',"name_domain")
T = table
name_domain ___________ 1
T.Properties.VariableNames = replace(T.Properties.VariableNames,'_','@')
T = table
name@domain ___________ 1
  12 Comments
Walter Roberson
Walter Roberson on 25 Feb 2021
To be honest, the easiest way would be to upgrade MATLAB releases.
Second easiest way, if you are using MS Windows, would be to generate two seperate files, and then use
system(sprintf('copy "%s"+"%s" "%s"', first_tempfile, second_tempfile, desired_file))
The third easiest way would be to fopen() the file and fprintf() a line at a time, using appropriate formatting.

Sign in to comment.


JM
JM on 26 Feb 2021
Thanks for all the answers. Upgrading seems the best way out of this but that is not going to happen any time soon.

Tags

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!