MATLAB を置き換えるためにいくつかの Python ライブラリを使用したいと考えています。Python で Excel データをインポートして (たとえばNumPyを使用して)、それらを使用するにはどうすればよいですか?
Python が MATLAB の信頼できる代替手段であるかどうかはわかりませんが、試してみたいと思います。チュートリアルはありますか?
MATLABで実行している計算の種類(および使用しているツールボックス) によっては、Python が MATLAB の優れた代替手段になる可能性があります。
Python + NumPy + SciPy + Matplotlibは、開始するのに適した組み合わせです。
データについては、たとえば、データをテキスト ファイルに直接保存し (浮動小数点の精度の問題に直接関係していないと仮定して)、Pythonで読み取ることができます。
データがExcelデータで、各値が「;」で区切られている場合、たとえば、ファイルを 1 行ずつ読み取り、(「;」を引数として) split() メソッドを使用して各値を取得できます。
バージョン 7.1 までの MATLAB では、 scipy.io.matlab.mioモジュールを使用して Python から .mat ファイルを直接読み込むことができます。
Python にテキスト データをインポートする方法は、おそらく数百通りあります。
しかし、 MATLABを置き換えたいので、NumPyとおそらくSciPyを使用することになります。
物事をシンプルに保ちます: NumPy の標準的なテキスト読み込みを使用します:
import numpy
imported_array = numpy.loadtxt('file.txt',delimiter='\t') # Assuming tab-delimiter
print imported_array.shape
プロット用のMatplotlibと、 Excelデータを読み取るためのcsv モジュールがあります ( CSVにダンプできると仮定します)。
「Python が MATLAB の信頼できる代替手段であるかどうかはわかりません」
私 (実験物理学) にとって、Python はMATLABの完全な代替手段であるだけでなく(上記のようにSciPyとMatplotlibを含める場合)、データの処理と視覚化以外の多くのことにも役立ちます (一般的なプログラミングのニーズなど)。
「SAGEを試してみます。」
ノートブック環境を提供するSageを実行しているサーバーがいくつかあることは注目に値します ( http://www.sagemath.org/でSage をオンラインで試してください)。必要なのはインターネット ブラウザとアクセスだけ (インストールは不要) であることを考えると、これは非常に便利です。
Kevin Buchs によって解釈された質問については (別の回答で)、独自の Excel から Python への読み取りはいくつかの方法で行うことができ、一部はプラットフォーム (OS) に依存します。
これが役立つことを願っています。そうでない場合は、サンプル コードを自分でアレンジしてみることができます (ただし、私が持っているコードは 6 年以上前のものです...)。個人的には、他の回答で提案されているように、CSV または ASCII 形式を使用することを好みます。
データをMATLAB形式で保存した場合は、次を使用します。
from scipy.io import loadmat
datafile = "yourfile.mat"
data = loadmat(datafile, matlab_compatible=True)
var1 = data['nameOfYourVariable'].squeeze()
var2 = data['nameOfYourOtherVariable'].squeeze()