python - 在 Python 3 中将 XLS 文件转换为 XLSX?
问题描述
我的目标是获取大量 XLS 文件并将它们转换为 XLSX。我可以通过简单的操作一次完成一行,或者如果有人知道方法的话,可以批量处理大量文件。
我尝试使用此 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'
解决方案
您可以尝试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 版本。
推荐阅读
- python - 请求 socialblade.com 使用超级错误获取 403
- c - 为什么我的 setitimer() 没有在 Linux 环境中调用 SIGALRM?
- android - 当输入图像相同时,ImageView 会再次重做所有过程吗?
- node.js - 使用 Node 设置系统变量
- typescript - 在使用打字稿做出本机反应时,在redux中出现类型错误
- flutter - 如何像这张图片一样在颤动中创建具有复杂标题的表?
- arm64 - 我们如何在 ARM 中存储大的十进制/十六进制值?
- elasticsearch - 如何编写一个按字段聚合的 Elasticsearch 查询,以及每个字段的聚合?
- android - Fluter 应用程序在 Android 设备上没有任何日志就崩溃了
- python - 使用带有 LMS“Odoo”的反向代理。在域中中断但在本地主机中工作