【问题标题】:Cross platform way to read Excel files in Python?在 Python 中跨平台读取 Excel 文件的方法?
【发布时间】:2010-12-04 19:41:18
【问题描述】:

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

我在 Linux 上运行。

是否有一个库可以让我在 Linux 上通过 Python 访问(读取)XLS 文件?

【问题讨论】:

  • 总是可以将 excel 电子表格导出为 csv 格式,在 Python 中应该很容易解析
  • 你看过python-excel.org吗?
  • 或者另存为 XML 并使用 XML 解析器。
  • +1 @Sven,python-excel 看起来很完美。

标签: python excel


【解决方案1】:

【讨论】:

  • +1:xlrd 对我来说总是完美无缺。不幸的是,它还不能读取最新的 Excel 格式。
  • @EOL:可以通过电子邮件向认真的测试人员索取读取 Excel 2007 xls[xm] 文件的“alpha”版本代码。随便问问。
【解决方案2】:

获取xlrdfrom PyPI。也可以去the python-excel website了解(a)教程(b)讨论组(c)xlwtxlutils

[Dis]声明:我是xlrd 的作者和维护者,以及xlwt 的维护者(它是 pyExcelerator 的一个分支,修复了错误并进行了许多增强)。

【讨论】:

    【解决方案3】:

    最简单的方法是在 Wine 下运行 excel 或作为 VM 并从 Windows 执行。您可以使用 Mark Hammond 的 COM 绑定,它与 ActiveState Python 捆绑在一起。或者,您可以以 CSV 格式导出数据并从中读取。

    【讨论】:

    • 我很想知道你说 win32 COM + Excel 比xlrd 更容易的原因@
    • 让您可以访问命名范围和整个 Excel API。我已经使用了 xlrd,它几乎可以逐个单元地工作。您可以一次获取整张工作表,然后通过 API 一起使用。
    • xlrd 允许访问命名范围。 OP 在 Linux 上并想要提取数据(xlrd 为其提供一次行访问);他不需要“整个 Excel API”和设置 Windows 兼容环境的全部开销,甚至可能没有/想要 Excel 的许可副本。
    【解决方案4】:

    我过去一直为此目的使用pyexcelerator,效果很好。

    【讨论】:

    • 目前使用 xlrd 和 xlwt 库可以更好地执行此操作。 AFAIK pyexcelerator 不再维护
    • -1 pyExcelerator ia 放弃软件(查看 sourceforge 上的错误跟踪器)。它的 xls 阅读组件功能极少。
    • @joaquin:也许,只是根据自己的经验(我们在生产中用它编写了一些代码),我检查过,它仍在 repo 中:)
    猜你喜欢
    • 1970-01-01
    • 2013-10-05
    • 2010-10-25
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-07
    相关资源
    最近更新 更多