Reading multiple txt files and placing numerical data in a matrix
    조회 수: 3 (최근 30일)
  
       이전 댓글 표시
    
Hi all, I'm trying to read multiple file text without the header and pile up their numerical content. I have attached an example txt file.
Here is the basic code I use:
[filename,pathname,d]=uigetfile('*.txt','MultiSelect','on');
filepath=fullpath(pathname,filename);
a=readtable(filepath);
a=table2array(a);
It works for 1 fIle but gives an error for more files selected. And then once I imported correctly multiple files, how do I pile their numerical content? I guess have to insert that in a for cycle. Bear in mind that different files can have different number of columns and rows.
Thanks in advance to anyone who will help me
댓글 수: 4
  Jan
      
      
 2022년 4월 25일
				"but gives an error for more files selected" - whenever you mention an error in the forum, attach a copy of the complete error message instead of letting the readers guess, what you can see already.
  Jeremy Hughes
    
 2022년 4월 25일
				a = readtable(filepath);
a = table2array(a);
Should be equivalent to:
a = readmatrix(filepath)
답변 (1개)
  Jan
      
      
 2022년 4월 25일
        [filename, pathname] = uigetfile('*.txt','MultiSelect','on');
filename = cellstr(filename);
data = [];
for k = 1:numel(filename)
  filepath = fullpath(pathname,filename);
  tab      = readtable(filepath);
  data     = cat(1, data, table2array(tab));
end
댓글 수: 5
  Jan
      
      
 2022년 4월 26일
				@lacopo: I've copied "fullpath" from your example in the question. Maybe "fullfile" is meant.
참고 항목
카테고리
				Help Center 및 File Exchange에서 Workspace Variables and MAT Files에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




