簡體   English   中英

如何從電子表格導入大量數據到Matlab中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM