黑泥 发表于 2021-6-22 17:14:46

执行load_workbook时报错File is not a zip file

本帖最后由 黑泥 于 2021-6-22 17:16 编辑

执行workbook = load_workbook('11.xlsx')时报错:
代码没有问题,因为在另一台电脑上试了没问题。
百度说了很多方法,比如重新创建一个excel文件等等都不行。求大神指点。

fish_nian 发表于 2021-6-22 17:18:58

可能是代码执行过程中文件损坏,你试看文件还能打开么,或者里面的编码有没有问题

阿奇_o 发表于 2021-6-22 20:09:26

“另一台电脑没问题”?——那可能是:openpyxl的版本问题 ,检查看看

ps: 代码,最好放出来。。{:10_297:}

黑泥 发表于 2021-6-23 09:53:12

阿奇_o 发表于 2021-6-22 20:09
“另一台电脑没问题”?——那可能是:openpyxl的版本问题 ,检查看看

ps: 代码,最好放出来。。{:10_29 ...

已经试过卸载openpyxl重新安装最新的还是不行。
from openpyxl import load_workbook
workbook = load_workbook(r'C:\Users\GW00218173\Desktop\1\11.xlsx')
worksheet = workbook['Sheet1']
print(worksheet)

黑泥 发表于 2021-6-23 09:58:56

fish_nian 发表于 2021-6-22 17:18
可能是代码执行过程中文件损坏,你试看文件还能打开么,或者里面的编码有没有问题

excel文件吗?能打开,并且拷贝到另一台电脑执行没问题。
另一台电脑上用pycharm执行此段代码没问题,但是我发现换到IDLE执行,执行到workbook = load_workbook(r'C:\Users\GW00218173\Desktop\1\11.xlsx')这一步也会报这个错。

from openpyxl import load_workbook
workbook = load_workbook(r'C:\Users\GW00218173\Desktop\1\11.xlsx')
worksheet = workbook['Sheet1']
print(worksheet)

阿奇_o 发表于 2021-6-23 23:12:19

尝试一:
    1. 重命名xlsx文件或新建一个xlsx(不要复制);
    2. 然后 把当前工作目录 切换到 xlsx文件所在的目录;
    3. 再次使用 load_workbook("my_file.xlsx") (先直接用文件名),看是否成功。

尝试二:使用“安全地打开和关闭”,参考https://blog.csdn.net/WinterShiver/article/details/103443300

nahongyan1997 发表于 2021-6-23 23:27:57

是不是pycharm 和 idle 用的不是一个解释器啊

黑泥 发表于 2021-6-25 11:07:08

nahongyan1997 发表于 2021-6-23 23:27
是不是pycharm 和 idle 用的不是一个解释器啊

只有一个解释器{:5_100:}把电脑的python 和 pycharm重装了也没用,看来是电脑系统的问题

z5560636 发表于 2021-6-25 12:36:59

黑泥 发表于 2021-6-25 11:07
只有一个解释器把电脑的python 和 pycharm重装了也没用,看来是电脑系统的问题

都没有问题, 检查一下 编译的版本和 openpyxl 的版本,
页: [1]
查看完整版本: 执行load_workbook时报错File is not a zip file