Reading .csv files from .txt file.
40 views (last 30 days)
Show older comments
Hello,
I have a .txt file with 7lines and 4 columns, and 4 csv files(with names a.csv, b.csv, c.csv and d.csv). In the first column there are the names of my .csv files( Imean a.csv, b.csv,c.csv and d.csv).
I would like via a loop to read each of my .csv files , depending on the line with the same name/line( Imean in the first column of the first Line of my .txt file has the name 'a.csv'. Depending on this I would to read the 'a.csv' file.
Could anyone help me?
2 Comments
Rik
on 28 May 2020
So each txt file contains the file name of the csv file you want to read?
And what have you tried so far to read either the txt or csv files?
Accepted Answer
Rik
on 28 May 2020
How to read text files is maybe the most frequently asked question. Among many solutions, you can either directly read the txt file with native Matlab functions, or use my readfile function. In this case the added benefit of that file is 0, but in the future it may be handy to already have that function.
Then you can read the relevant csv file with the readmatrix function.
4 Comments
Rik
on 28 May 2020
Why did you ignore my advice about using readfile? Also, at least skip that readvariablenames, it doesn't do what you need it to. Anyway, the code below contains the required edits to fix your code.
t4=readtable('final.txt');
name=t4{:,1};
data=cell(size(name));
for n=1:numel(name)
csv_file_name=name{n};
%read the data to a cell array
data{n}=readmatrix(csv_file_name);
end
%instead of using data1, data2, and data3, you can use data{1}, data{2}, and data{3}
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!