我是編程方面的新手,我一直在試圖解決這個問題。使用列表重命名數據集
我想拉大約300個MySQL表到Matlab到我的工作區。
我附加了下面的代碼,它被設計用來拉一個表(我打算在它工作時通過300個mysql表來循環這段代碼)。
代碼成功地將單個表格導入工作空間作爲新的數據集。
我嘗試用原始mysql表的名稱重命名這個新數據集時出現問題。
請參見下面的代碼對於這部分,我搞砸了(%分配數據輸出變量)
我所有的300個表的名單,我打算將它們存儲在一個名爲列表'name'...因此,名字(1)...這是正確的方法嗎?
例如,原始的mysql表稱爲'options_20020208'。
運行腳本之後,我需要Matlab導入的新數據集也稱爲'options_20020208'。
這裏的任何想法?
%Define Query
name = 'options_20020208'
%Set preferences with setdbprefs.
setdbprefs('DataReturnFormat', 'dataset');
setdbprefs('NullNumberRead', 'NaN');
setdbprefs('NullStringRead', 'null');
%Make connection to database.
conn = database('', 'root', 'password', 'Vendor', 'MYSQL', 'Server', 'localhost', 'PortNumber', 3306);
%Read data from database.
curs = exec(conn, [['SELECT ',name,'.UnderlyingSymbol , ']...
, [name,'.UnderlyingPrice , ']...
, [name,'.Expiration , ']...
, ['FROM ','PriceMatrix.',name,' ']...
]);
curs = fetch(curs);
close(curs);
%Assign data to output variable
name(1) = curs.Data;
%Close database connection.
close(conn);
%Clear variables
clear curs conn
謝謝NKJT, 這有助於噸。 你剛剛救了我幾個小時的挫折! – BenTam64