2016-10-04 58 views
0

我想打開並處理一些python中的大型.mat文件。 scipy.io.loadmat函數是完美的。但是,.mat文件很大時,該函數會返回MemoryError。問題可能是由於我使用的Python版本(Python 2.7.10 32位,與spyder接口)。這個問題已經提出,但我找不到任何像樣的解決方案。理想情況下,我將能夠打開這些文件而無需更改我的python。有沒有辦法讓scipy.io.loadmat函數加載.mat文件中包含的一些變量?scipy.io.loadmat爲大型matlab結構返回MemoryError

回答

2

在這裏看到的文檔:http://docs.scipy.org/doc/scipy/reference/generated/scipy.io.loadmat.html

可以傳遞變量名的列表,從文件中讀取:

scipy.io.loadmat("myfile.mat", variable_names=["myvar1", "myvar2"]) 
+0

感謝。但是,請注意,這個技巧並不是長期適用的解決方案。任何想法如何擺脫這種內存錯誤? – user1363251

+0

你是什麼意思?從長遠來看,問題是什麼? – hpaulj

+0

無論文件大小如何,我們都應該能夠使用scipy.io.loadmat()函數打開任何.mat文件。現在情況並非如此。當我嘗試打開.mat文件時,系統地出現內存錯誤> .1 GB – user1363251