有没有更简单的方法将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 2D数组。这似乎是低效的。理想情况下,我希望有excel文件直接加载到numpy 2D数组。
2条答案
按热度按时间9gm1akwq1#
老实说,如果您要处理异构数据(电子表格可能包含),使用
pandas.DataFrame
比直接使用numpy
更好。虽然
pandas
在某种意义上只是numpy的一个 Package 器,但它非常非常好地处理了异构数据(以及大量其他东西......对于“类似电子表格”的数据,它是python世界的黄金标准)。如果你决定走这条路,只需要使用
pandas.read_excel
。lc8prwob2#
我们可以使用xlrd库来实现。我们不需要导入整个pandas。
下面是从Link获取的实用程序函数
希望这能帮助其他想要避免Pandas阅读excel的人。
对我来说,这个替代方案比
pandas.read_excel(...).to_numpy()
慢1秒,用于14k记录的excel