MATLAB Answers

Readtable from a text file with multiple delimiter

20 views (last 30 days)
andrea on 2 Nov 2020
Commented: Rik on 7 Nov 2020
I have a text file with column delimited by tab , but the string containing the variable name has as a delimiter simple multiple space.
Is there a way to specify that the delimiter of the variable name row is different from the rest of the file ?
  1 Comment
Rik on 2 Nov 2020
I don't have the actual answer, but you could parse them separately.

Sign in to comment.

Accepted Answer

Rishik Ramena
Rishik Ramena on 6 Nov 2020
You can try using readcell in the following way. I'm not sure how your data looks like. If this does not help in your data, you can try importing the data interactively using the Import Tool.
table = readcell('rows.txt', 'Delimiter', ' ')
% 2×5 cell array
% {'peter'} {'pan'} {[10]} {[ 2]} {[30]}
% {'john' } {'doe'} {[30]} {[50]} {[60]}
col_1 = table(:, 1);
col_2 = table(:, 2);
name = strcat(col_1, {' '}, col_2)
% name =
% 2×1 cell array
% {'peter pan'}
% {'john doe' }
Rik on 7 Nov 2020
You can get my readfile function from the FEX. If you are using R2017a or later, you can also get it through the AddOn-manager. That will read your file to a cell array (1 cell per line), after which you can loop through the lines and use something like contains.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by