2013-06-11 21 views
9

ExcelファイルをNumpy配列に直接ロードする簡単な方法はありますか?Excelファイルをnumpy 2D配列にロード

numpyのマニュアルからnumpy.genfromtxt自動ロード機能を見てきましたが、Excelファイルを直接ロードしません。

array = np.genfromtxt("Stats.xlsx") 
ValueError: Some errors were detected ! 
Line #3 (got 2 columns instead of 1) 
Line #5 (got 5 columns instead of 1) 
...... 

は、今私は、Excelファイルを読み込んで、2D配列をnumpyのために追加する openpyxl.reader.excelを使用して使用しています。これは非効率的なようだ。 理想的には、numpy 2D配列に直接ロードされたファイルをExcelでエクセルしなければなりません。

答えて

11

正直なところ、異種のデータ(スプレッドシートが含まれている可能性があるため)を使用している場合は、numpyを直接使用するよりも、pandas.DataFrameを使用する方が適しています。

pandasは、ある意味ではnumpyのラッパーですが、異種データを非常にうまく処理します。 (ほかにも数多くのものがありますが...「スプレッドシートのような」データの場合は、Python世界のゴールドスタンダードです)

そのルートに行く場合は、pandas.read_excelを使用してください。

+0

データフレームをNumpy 2D配列に変換するために追加するだけで、np.asarray(your_data_frame_here)を使用することができます。 – Tahlor

関連する問題