在 Python 3 中将 XLS 文件转换为 XLSX?

时间:2021-05-07 19:50:56

标签: python python-3.x

我的目标是获取大量 XLS 文件并将它们转换为 XLSX。我可以通过简单的操作一次做一行,或者如果有人知道一种方法,可以批量做大量文件。

I attempted to use most of the solutions on this Stack post,但它们似乎不再有效或适用。它已有 9 年历史,因此可能需要现代解决方案。

我试过的代码:

p.save_book_as(file_name='C://Users//user1//Downloads//oldfile.xls',
           dest_file_name='C://Users//user1//Downloads//oldfile.xlsx')

但这导致了错误:

 raise XLRDError('Unsupported format, or corrupt file: ' + msg)
xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'<?xml ve'

1 个答案:

答案 0 :(得分:0)

您可以尝试Tablib,如下所示:

with open('input.xls', 'r') as input:
    data = Dataset().load(input)
    with open('output.xlsx', 'wb') as output:
        output.write(data.export('xlsx'))

不确定它是否支持您的 xls/xlsx 版本。

相关问题