|
发表于 2023-10-8 19:06:20
|
显示全部楼层
这个问题可能是由于文件格式不正确导致的。XLS格式的文件有多种版本,不同版本的文件可能使用不同的文件格式。如果openpyxl无法正确识别文件格式,就需要手动指定engine来读取文件。
首先,你需要确保你的文件是XLS格式的,而不是XLSX格式的。XLSX格式的文件需要使用不同的库来读取。如果你确定文件是XLS格式的,那么你可以尝试以下方法来读取文件:
- import openpyxl
- # 打开文件
- wb = openpyxl.load_workbook('your_file.xls', read_only=True, keep_vba=False, data_only=True)
- # 选择工作表
- ws = wb.active
- # 读取数据
- for row in ws.rows:
- for cell in row:
- print(cell.value)
复制代码
在这个例子中,我们使用了openpyxl库来读取XLS文件。我们使用 load_workbook 函数来打开文件,并且指定了 read_only=True 和 data_only=True 参数来只读取数据而不读取格式和公式。如果你的文件格式不正确,你可以尝试手动指定engine来读取文件,如下所示:
- import openpyxl
- # 打开文件
- wb = openpyxl.load_workbook('your_file.xls', read_only=True, keep_vba=False, data_only=True, engine='xlrd')
- # 选择工作表
- ws = wb.active
- # 读取数据
- for row in ws.rows:
- for cell in row:
- print(cell.value)
复制代码
在这个例子中,我们手动指定了engine为 xlrd 来读取文件。如果你的文件格式仍然无法被正确识别,你可以尝试使用其他的engine,如 openpyxl 、 xlwt 等。 |
|