python中使用openpyxl模块时报错: File is not a zip file

python中使用openpyxl模块时报错: File is not a zip file。

最大的原因就是不是真正的 xlsx文件, 如果是通过 库xlwt  新建的文件,或者是通过自己修改后缀名得到的 xlsx文件,都会报错,我遇到的解决办法基本都是自己使用 office 新建一个xlsx文件,网上说的是由于新版 office 加密的原因,只能通过 office 的软件才能建立真正的xlsx文件。

同时来自网友的经验:
#Python大坑:openpyxl和(xlrd,xlwt)不可混用!
#工程名、包名、文件名、模块名绝对不可重复!
#(xlrd、xlwt)读写过的文件千万不可让openpyxl读写

openpyxl 这是一个第三方库,可以处理xlsx格式的Excel文件。

openpyxl 的读写excel文件:

 from openpyxl import load_workbook
 book = load_workbook(path) writer = pd.ExcelWriter(path, engine=‘openpyxl‘) writer.book = book
 df.to_excel(excel_writer=writer, sheet_name="sheet1")

对比 pandas 的:

writer = pd.ExcelWriter(savepath)
df.to_excel(excel_writer=writer, sheet_name="sheet1")


原文地址:https://www.cnblogs.com/BackingStar/p/10923891.html

时间: 2024-10-10 19:36:34

python中使用openpyxl模块时报错: File is not a zip file的相关文章

在导入python(tab)模块时报错

在导入python的模块时会报错: 配置文件: #!/usr/bin/env python # python Tab file import sys import readline import rlcompleter import atexit import os readline.parse_and_bind('tab:complete') histfile = os.path.join(os.environ['HOME'], '.pythonhistory') try:     readl

安装Python的psutil模块时报错:error: command 'gcc' failed with exit status 1

安装Python的psutil模块: tar zxvf psutil-2.0.0.tar.gz cd psutil-2.0.0 python setup.py install 报错: running install running bdist_egg ...... psutil/_psutil_linux.c:12:20: error: Python.h: No such file or directory In file included from psutil/_psutil_linux.c

python在使用MySQLdb模块时报Can't extract file(s) to egg cacheThe following error occurred while trying to extract file(s) to the Python eggcache的错误。

这个是因为python使用MySQLdb模块与mysql数据库交互时需要一个地方作为cache放置暂存的数据,但是调用python解释器的用户(常常是服务器如apache的www用户)对于cache所指向的位置没有访问权限. 解决方式有很多,这里介绍一个. 创建一个文件夹并给予该文件夹对应用户w的权限(不确定是哪个用户的情况下可以直接给other置以w权限(linux下用户及权限机制自行百度)). 然后在每个python的脚本文件中加入 import osos.environ['PYTHON_E

idea中 maven打包时时报错User setting file does not exist C:\Users\lenevo\.m2\setting.xml,

idea中 maven打包时时报错User setting file does not exist C:\Users\lenevo\.m2\setting.xml, 解决方案如下:将maven的安装目录\conf目录下的setting.xml拷贝到C:\Users\lenevo\.m2目录下即可.   原文地址:https://www.cnblogs.com/zhulina-917/p/9986926.html

python中动态导入模块

如果导入的模块不存在,Python解释器会报 ImportError 错误: >>> import something Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: No module named something 有的时候,两个不同的模块提供了相同的功能,比如 StringIO 和 cStringIO 都提供了Strin

Python中的logging模块【转】

基本用法 下面的代码展示了logging最基本的用法. 1 # -*- coding: utf-8 -*- 2 3 import logging 4 import sys 5 6 # 获取logger实例,如果参数为空则返回root logger 7 logger = logging.getLogger("AppName") 8 9 # 指定logger输出格式 10 formatter = logging.Formatter('%(asctime)s %(levelname)-8s:

Python中的logging模块

http://python.jobbole.com/86887/ 最近修改了项目里的logging相关功能,用到了python标准库里的logging模块,在此做一些记录.主要是从官方文档和stackoverflow上查询到的一些内容. 官方文档 技术博客 基本用法 下面的代码展示了logging最基本的用法. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

python中的commands模块,执行出错:&#39;{&#39; 不是内部或外部命令,也不是可运行的程序 或批处理文件。

最近发现了python的commands模块,查看了下源码,使用的popen封装的,形成三个函数getstatus(), getoutput(), getstatusoutput() 源码如下: def getstatus(file): """Return output of "ls -ld <file>" in a string.""" import warnings warnings.warn("co

Python入门之Python中的logging模块

基本用法 下面的代码展示了logging最基本的用法. import logging import sys # 获取logger实例,如果参数为空则返回root logger logger = logging.getLogger("AppName") # 指定logger输出格式 formatter = logging.Formatter('%(asctime)s %(levelname)-8s: %(message)s') # 文件日志 file_handler = logging.