2016-01-16 65 views
0

我是相當新的編程,並開始在Python 3.我想分析已經在MATLAB程序中處理過的數據編程,我需要將其導出。我不知道什麼MATLAB,並在網上搜索後,我想出了這一點:移動數據到Python

fileID = fopen('VarA.txt','w'); 
fprintf(fileID,'%.10f \n',data_1(:,1)); 
fclose(fileID); 

fileID = fopen('varB.txt','w'); 
fprintf(fileID,'%.10f \n',data_1(:,2)); 
fclose(fileID); 

這給了我2個.txt文件x和y座標分別。我有大約1000個字符串(每個包含大約10k個數據點),所以這看起來像是一個可怕的方式來做到這一點。

我的問題是那麼;我如何使用高效的代碼導出這些數據集?例如:我正在寫一個數據集到2個不同的.txt文件,它們將2個變量分開,而不是保存在1個文件中的散列。

+0

這被表述爲一組語句,而不是一個問題。你想問什麼? – Chris

+0

你打算安裝並使用'numpy'和'scipy'嗎?或者只是Python? – hpaulj

回答

1

如果您有興趣導出大量結構化數值數據,我建議您在matlab中使用HDF5函數編寫這些函數,並使用相應的python庫來讀取這些函數。

爲了簡化你那裏顯示的代碼,瞭解在MATLAB幫助dlmwrite。

您選擇(或通過dlmwrite)的方式在開始時可能聽起來很糟糕,但通常不會對性能產生影響。

+0

或者更簡單一些,使用'save'和選項'-v7.3'創建一個gzip壓縮的HDF5文件。 – Daniel

+0

如果你安裝'h5py'庫,你還需要'numpy'。 'scipy'有一個'loadmat',可以讀取'.mat'文件。 – hpaulj

+0

使用.mat文件和顯式構造的HDF5文件之間的選擇主要取決於是否需要對格式進行更具體的控制。如果情況並非如此,那麼使用.mat文件(如兩個註釋中所建議的)是一個適當的解決方案。 –