[英]How to conditionally import data from a spreadsheet into MATLAB without using a loop
[英]How to import lots of data into matlab from a spreadsheet?
我有一個Excel電子表格,其中包含很多要導入到matlab中的數據。
filename = 'for_matlab.xlsx';
sheet = (13*2)+ 1;
xlRange = 'A1:G6';
all_data = {'one_a', 'one_b', 'two_a', 'two_b', 'three_a', 'three_b', 'four_a', 'four_b', 'five_a', 'five_b', 'six_a', 'six_b', 'seven_a', 'seven_b', 'eight_a', 'eight_b', 'nine_a', 'nine_b', 'ten_a', 'ten_b', 'eleven_a', 'eleven_b', 'twelve_a', 'twelve_b', 'thirteen_a', 'thirteen_b', 'fourteen_a'};
%read data from excel spreadsheet
for i=1:sheet,
all_data{i} = xlsread(filename, sheet, xlRange);
end
“ all_data”向量的每個元素在單獨的Excel工作表中都有一個對應的矩陣。 上面的代碼僅將最后一個矩陣導入所有變量中。 有人可以告訴我如何獲得它,以便可以將這些矩陣導入到單獨的matlab變量中(無需調用xlsread函數28次)嗎?
您可以使用i
定義一個循環,然后將工作sheet
放入實際的xlsread
調用中,這只會使它從同一工作表中重復讀取(變量工作sheet
值沒有改變)。 同樣也不確定您是否打算以某種方式保存all_data
的內容,就這樣寫它沒有意義,因為它將被覆蓋。
使用xlsread
指定工作表有兩種方法。
1)使用數字。 如果您打算這樣做,則:
all_data{i} = xlsread(filename, i, xlRange);
2)使用工作表名稱。 如果您打算這樣做並且all_data
的內容是all_data
表的名稱,則:
data{i} = xlsread(filename, all_data{i}, xlRange); %avoiding overwriting
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.