Filter löschen
Filter löschen

How can I Insert a CSV filename into my array

1 Ansicht (letzte 30 Tage)
AR
AR am 2 Nov. 2016
Beantwortet: Walter Roberson am 2 Nov. 2016
Need help with preparing data.
I'm creating an array by appending 500 csv files of daily stock data (varying rows), each with 7-columns using with code below.
How can I create an 8th column with the filename (or just part of the filename) so I can later identify which file belongs with which rows of data?
Thanks.
dname='C:\project\';
alldata=[];
files=dir([dname,'*.csv']);
for i=1:length(files);
csvdata=csvread([dname,files(i).name]);
alldata=[alldata;csvdata];
end

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 2 Nov. 2016
You cannot. csvread() only reads numeric data, so your arrays would be numeric. You cannot store character strings in numeric arrays.
  • You can create separate variables.
  • You can switch to a cell array -- num2cell() the numeric data and then horzcat() on the cell array of strings
  • You can use array2table() to convert to a table() data structure and then add the file names as a column of that.

Weitere Antworten (0)

Kategorien

Mehr zu Tables finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by