Info

This question is closed. Reopen it to edit or answer.

Writing to CSV file help

2 views (last 30 days)
Rodriguez Pham
Rodriguez Pham on 16 Sep 2015
Closed: MATLAB Answer Bot on 20 Aug 2021
So I have a CSV file with a list of variables with various assignments, so for example: *note these are each in on cell each
a = 5464,,,,,,,
b = 657578,0.46454,0,85976
c = 46,,,,,,
d = 45345
e = 0,5,6,8,,,,,,,
I want to filter the csv file so that it removes the ,,,,,, and then reformat this so that it will then become
a = 5464; b = 657578,0.46454,0,85976; c = 46; d = 45345; e = 0,5,6,8;
in once cell
I have the idea to use a regexp to filter the commas but I dont know how to filter it specifically.
  2 Comments
Walter Roberson
Walter Roberson on 17 Sep 2015
When you say that they are in one cell each, do you mean one line each? Or do you mean that in the CSV file each of these expressions was enclosed in double-quotes "" to mark that the commas did not indicate the end of the value?
Rodriguez Pham
Rodriguez Pham on 17 Sep 2015
Edited: Rodriguez Pham on 17 Sep 2015
So when I load the csv file into the matlab workspace using uigetfile, then fopen, then textscan, the variable are in a cell type of a 5x1 vector. So when I apply my opperation the result I want is a 1x1 with all of the varibles in that specfic format where it follows the 5 variables in a line.
The goal for me is to understand the syntax to do this operation because I will have lets say a 100x1 with variables assigned but having this comma issue and I want to apply my operation so that it will end up as a 20x1 with 5 variables in each row but 'one cell' for each row which I will then write to a text file. Does that make sense?

Answers (1)

Walter Roberson
Walter Roberson on 17 Sep 2015
data = {'a = 5464,,,,,,,'; 'b = 657578,0.46454,0,85976'; 'c = 46,,,,,, '; 'd = 45345'; 'e = 0,5,6,8,,,,,,,'}
trimmed_data = regexprep(data, ',+\s*$', '');
joined_data = [strjoin(trimmed_data(:).', '; '), ';'];
  1 Comment
Kirby Fears
Kirby Fears on 18 Sep 2015
Rodriguez,
Your answer is right here.

Community Treasure Hunt

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

Start Hunting!