How can I Insert a CSV filename into my array

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

 채택된 답변

Walter Roberson
Walter Roberson 2016년 11월 2일

0 개 추천

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.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Tables에 대해 자세히 알아보기

질문:

AR
2016년 11월 2일

답변:

2016년 11월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by