将Excel文件加载到numpy 2D数组中

Ani*_*etD 15 python excel numpy

有没有更简单的方法将excel文件直接加载到Numpy数组?

numpy.genfromtxt从numpy文档中查看了自动加载功能,但它没有直接加载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)
......
Run Code Online (Sandbox Code Playgroud)

现在我正在使用openpyxl.reader.excelread来读取excel文件,然后附加到numpy 2D数组.这似乎效率低下.理想情况下,我希望将excel文件直接加载到numpy 2D数组中.

Joe*_*ton 15

老实说,如果您正在使用异构数据(因为电子表格可能包含),使用a pandas.DataFrame是比numpy直接使用更好的选择.

虽然pandas在某种意义上它只是numpy的包装器,但它非常好地处理异构数据.(以及其他许多东西......对于"类似电子表格"的数据,它是蟒蛇世界的黄金标准.)

如果你决定走这条路,那就去吧pandas.read_excel.

  • 我只是添加将数据帧转换为 Numpy 2D 数组,您可以使用 np.asarray(your_data_frame_here)。 (2认同)
  • 不,先生。熊猫不一定更好。Pandas 非常慢——尤其是在加载中等大小的数据文件时。 (2认同)
  • 我同意,我真的不想被迫处理 Pandas 数据框。对于简单的数字数据来说,这只是不必要的包袱和复杂性,以及更多不必要的依赖。没有 pandas 的简单直接解决方案怎么样? (2认同)