- 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.
How can I Insert a CSV filename into my array
1 view (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
Walter Roberson
on 2 Nov 2016
You cannot. csvread() only reads numeric data, so your arrays would be numeric. You cannot store character strings in numeric arrays.
0 Comments
More Answers (0)
See Also
Categories
Find more on Tables 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!