Python中跨平台读取Excel文件的方法是什么?

3

我有一些(Excel 2000)工作簿。我想将每个工作表中的数据提取到单独的文件中。

我正在Linux上运行。

是否有一个库可以在Python中从Linux访问(读取)XLS文件?


可以将Excel电子表格导出为CSV格式,这样在Python中解析应该很容易。 - cristobalito
5
你看过 http://www.python-excel.org/ 吗? - Sven Marnach
或者保存为XML并使用XML解析器。 - khachik
+1 @Sven,python-excel 看起来非常完美。 - Matt Ball
4个回答

7

+1:xlrd对我来说一直运行得非常完美。不幸的是,它还不能读取最新的Excel格式。 - Eric O. Lebigot
2
@EOL:可通过电子邮件请求向认真的测试人员提供读取Excel 2007 xls[xm]文件的“alpha”版本代码。只需询问即可。 - John Machin

3
请从PyPI获取xlrd链接。同时,访问python-excel网站了解(a)教程(b)讨论组(c)xlwtxlutils
[免责声明]:我是xlrd的作者和维护者,并且是xlwt的维护者(它是pyExcelerator的分支,修复了错误并进行了大量增强)。

0

最简单的方法是在Wine或虚拟机下运行Excel,并从Windows中进行操作。您可以使用Mark Hammond的COM绑定,这些绑定与ActiveState Python捆绑在一起。或者,您可以将数据导出为CSV格式,并从中读取。


我对您认为win32 COM + Excel比xlrd更容易的原因感兴趣。 - John Machin
提供对命名区域和整个Excel API的访问权限。我使用过xlrd,它基本上是逐个单元格地工作。您可以一次获取整个工作表并通过API进行批量处理。 - ConcernedOfTunbridgeWells
2
xlrd提供了对命名区域的访问。OP在Linux上并想要提取数据(其中xlrd提供逐行访问);他不需要“整个Excel API”和设置Windows兼容环境的全部开销,可能甚至没有/不想要一个有许可的Excel副本。 - John Machin

-1

我过去一直使用pyexcelerator来完成这个目的,效果很好。


1
目前最好使用xlrd和xlwt库来执行此操作。据我所知,pyexcelerator已不再维护。 - joaquin
-1 pyExcelerator 是废弃的软件(请查看 SourceForge 上的错误跟踪器)。它的 xls 读取组件功能极其有限。 - John Machin
@joaquin:也许只是从自己的经验来看(我们有一些用它编写的代码在生产中),我已经检查过了,它仍然在存储库中 :) - barti_ddu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接