Reading .csv files from .txt file.

30 ビュー (過去 30 日間)
Ivan Mich
Ivan Mich 2020 年 5 月 28 日
コメント済み: Rik 2020 年 5 月 28 日
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 件のコメント
Rik
Rik 2020 年 5 月 28 日
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?
Ivan Mich
Ivan Mich 2020 年 5 月 28 日
I am importing the .txt file and the 4 .csv files in order to understand what I want to make/
To Be honest I have no idea whih command should I use , and that's why I am asking there...

サインインしてコメントする。

採用された回答

Rik
Rik 2020 年 5 月 28 日
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 件のコメント
Ivan Mich
Ivan Mich 2020 年 5 月 28 日
編集済み: Ivan Mich 2020 年 5 月 28 日
I used
clc
clear
t4=readtable('final.txt','readvariablenames', true);
name=t4{:,1}
filename1= 'a.csv';
[d1,tex]= xlsread(filename1);
The problem is that I do not know what to do in order to continue my code and make what I want
Rik
Rik 2020 年 5 月 28 日
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}

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeText Files についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by