如何在Python中读取/写入xlsx和xls文件?
我有一个Web应用程序(基于Django 1.5),其中用户上传电子表格文件。如何在Python中读取/写入xlsx和xls文件?
我一直在使用xlrd
来处理xls文件,并调查了openpyxl
声称支持xlsx/xlsm文件。
那么有没有一种常见的方式来读取/写入xls和xlsx文件?
另一种选择可能是将上传的文件转换为xls并使用xlrd
。为此,我查看了gnumeric
和ssconvert
,这将是有利的,因为我用xlrd和I编写的所有现有代码都不必更改现有的代码库。
因此,我应该更改我使用的库还是使用转换解决方案?
在此先感谢。
xlrd可以读取xlsx和xls文件,因此使用它可能是最简单的。对xlsx的支持并不像openpyxl那么广泛,但应该足够了。
将xlsx转换为xls会有丢失信息的风险,因为xlsx文件可能会大得多。
当我用xlrd解析我的xlsx文件时,它抛出了一个断言错误,本质上排除了xlrd。 – aliasav
我对xlrd了解不多。如果以优化模式运行Python,则可能能够解决断言错误。你可能想提交一个错误。虽然拉请求会更好。 您可以尝试通过无头OpenOffice运行文件,以将它们归一化为一种格式或另一种格式。 否则,你可能不得不使用这两个库。这些API是相似的,但在一些重要领域有所不同:值得注意的是,openpyxl使用1-索引。 –
原来,openpyxl与xls文件不兼容,我猜想转换是我现在最好的选择,但是我将不得不在一天之内将xlrd代码移植到openpyxl。 – aliasav
检查xlwings是否适合您的目的。 (http://xlwings.org/) –