openpyxl.utils.exceptions.InvalidFileException: openpyxl does not support the old .xls file format, please use xlrd to read this file, or convert it to the more recent .xlsx file format.
时间: 2024-03-12 21:43:36 浏览: 106
这个错误是由于 openpyxl 库不支持旧版的 .xls 文件格式,而该库只支持较新的 .xlsx 文件格式。如果你想使用 openpyxl 库来操作 Excel 文件,需要将文件格式转换为 .xlsx 格式。
你可以使用 `xlrd` 库来读取 .xls 文件,并将其转换为 .xlsx 格式。以下是一个示例代码:
```
import xlrd
import openpyxl
# 读取旧版 Excel 文件
workbook = xlrd.open_workbook('example.xls')
sheet = workbook.sheet_by_index(0)
# 将数据写入新版 Excel 文件
new_workbook = openpyxl.Workbook()
new_sheet = new_workbook.active
for i in range(sheet.nrows):
for j in range(sheet.ncols):
new_sheet.cell(row=i+1, column=j+1, value=str(sheet.cell_value(i, j)))
# 保存新版 Excel 文件
new_workbook.save('example.xlsx')
```
在这个例子中,我们使用了 `xlrd` 库读取旧版 Excel 文件,并将数据写入新版 Excel 文件。在写入数据时,我们使用了 `openpyxl` 库的 `cell()` 方法,该方法可以为指定行和列的单元格写入数据。最后,我们使用 `save()` 方法保存新版 Excel 文件。
请注意,在将 Excel 文件转换为 .xlsx 格式时,一些格式和样式可能会丢失。如果你需要保留这些格式和样式,可以考虑使用第三方工具来进行转换。
阅读全文