2013-06-11 48 views
9

是否有更簡單的方法將excel文件直接加載到Numpy數組中?將Excel文件加載到numpy二維數組中

我已經看過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) 
...... 

現在我用用openpyxl.reader.excel讀取Excel文件,然後附加到NumPy的二維數組。這似乎是低效的。 理想情況下,我想不得不excel文件直接加載到numpy 2D數組。

回答

11

老實說,如果您使用pandas.DataFrame來處理異構數據(如電子表格可能包含的內容),那麼這是比直接使用numpy更好的選擇。

雖然pandas在某種意義上只是numpy的包裝,但它非常好地處理異構數據。 (以及其他許多事情......對於「類似電子表格」的數據,它是蟒蛇世界的黃金標準。)

如果您決定走這條路線,只需使用pandas.read_excel即可。

+0

我只是補充說,將數據幀轉換爲Numpy 2D數組,您可以使用np.asarray(your_data_frame_here)。 – Tahlor