Python openpyxl 无法保存文件的解决方案

使用openpyxl保存文件的时候,出现最下面异常,查看openpyxl 的版本是2.5.14, 把openpyxl降级就可以解决此问题。

[root@billig mytest]# pip install openpyxl==2.5.11
DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Collecting openpyxl==2.5.11
 Downloading http://mirrors.aliyun.com/pypi/packages/38/7f/65d6b1700470749579b1585bbaf85fb8885f10fd53a77fb11915df913bbc/openpyxl-2.5.11.tar.gz (173kB)
  100% |################################| 174kB 596kB/s
Requirement already satisfied: jdcal in /usr/lib/python2.7/site-packages (from openpyxl==2.5.11) (1.4)
Requirement already satisfied: et_xmlfile in /usr/lib/python2.7/site-packages (from openpyxl==2.5.11) (1.0.1)
Installing collected packages: openpyxl
 Found existing installation: openpyxl 2.5.14
  Uninstalling openpyxl-2.5.14:
   Successfully uninstalled openpyxl-2.5.14
 Running setup.py install for openpyxl ... done
Successfully installed openpyxl-2.5.11
raceback (most recent call last):
 File "excelwritedemonopd.py", line 24, in <module>
  work_book.save("demo_new.xlsx")
 File "/usr/lib/python2.7/site-packages/openpyxl/workbook/workbook.py", line 391, in save
  save_workbook(self, filename)
 File "/usr/lib/python2.7/site-packages/openpyxl/writer/excel.py", line 284, in save_workbook
  writer.save(filename)
 File "/usr/lib/python2.7/site-packages/openpyxl/writer/excel.py", line 266, in save
  self.write_data()
 File "/usr/lib/python2.7/site-packages/openpyxl/writer/excel.py", line 85, in write_data
  self._write_images()
 File "/usr/lib/python2.7/site-packages/openpyxl/writer/excel.py", line 122, in _write_images
  self._archive.writestr(img.path[1:], img._data())
 File "/usr/lib/python2.7/site-packages/openpyxl/drawing/image.py", line 64, in _data
  img = _import_image(self.ref)
 File "/usr/lib/python2.7/site-packages/openpyxl/drawing/image.py", line 33, in _import_image
  img = PILImage.open(img)
 File "/usr/lib64/python2.7/site-packages/PIL/Image.py", line 2638, in open
  fp.seek(0)
ValueError: I/O operation on closed file.

补充:python的openpyxl 3.0.2版无法保存数据

在使用openpyxl3.0.2版的时候老是

报错“TypeError: got invalid input value of type , expected string or Element”

在将3.0.2版的卸载并且重新安装了3.0.0版的openpyxl之后此报错解除!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • python 使用openpyxl读取excel数据

    openpyxl介绍 ​ openpyxl是一个开源项目,它是一个用于读取/写入Excel 2010文档(如xlsx .xlsm .xltx .xltm文件 )的Python库,如果要处理更早格式的Excel文档(xls),需要用到其它库(如:xlrd.xlwt等),这是openpyxl比较其他模块的不足之处.openpyxl是一款比较综合的工具,不仅能够同时读取和修改Excel文档,而且可以对Excel文件内单元格进行详细设置,包括单元格样式等内容,甚至还支持图表插入.打印设置等内容. ​ p

  • python openpyxl 带格式复制表格的实现

    有合并单元格的,先把合并单元格复制过去,合并单元格用wm=list(zip(wbsheet.merged_cells))得出合并单元格列表,把其中的(<CellRange A1:A4>,) 替换成为A1:A4格式 再从新表中合并单元格 再用.has_style: #拷贝格式 测试是否有格式,再复制格式和数据 其中: font(字体类):字号.字体颜色.下划线等 fill(填充类):颜色等 border(边框类):设置单元格边框 alignment(位置类):对齐方式 number_format

  • python openpyxl筛选某些列的操作

    由于要复制excel 的某些单元格格式,需要对合并的单元格选出符合条件的 如下例是小于15的保留 然后在新表单中 wbsheet_new.merge_cells(cell2) wbsheet_new为新表单,cell2为筛选后保留的单元格,表达为I24:J24,K24:L24这样的格式 先正则筛选,筛选的结果为[('AO', 'AP')]这种list包含元组的表达方式,再用result[0][0]提取出第一个元素, 如果大于15列 column_index_from_string(result[

  • python中openpyxl和xlsxwriter对Excel的操作方法

    前几天,项目中有个小需求:提供Excel的上传下载功能,使用模块:openpyxl 和 xlsxwriter,这里简单记录一下. 1.简介 Python中操作Excel的库非常多,为开发者提供了多种选择,如:xlrd. xlwt.xlutils.xlwings.pandas. win32com.openpyxl.xlsxwriter等等. 其中: 前三个一般混合使用,对Excel读写操作,适合旧版Excel,仅支持 xls 文件: win32com 库功能丰富,性能强大,适用于Windows:

  • 解决python 使用openpyxl读写大文件的坑

    由于需要处理xlsx类型的文件,我使用了openpyxl来处理,然而文件比较大,大约有60多MB.读文件的时候虽然慢了一点,但还是能够读出来,但是当我想写入时却报错了. 显示设备没有多余的空间,百度了一下,发现有不少关于openpyxl读写大文件的问题.总结来看,解决方案主要有以下两种,当然,我两种都用上了. 手动释放内存 del wb, ws gc.collect() 这一招还算有用,在读完文件后可以看到内存占用明显下降了一点. 安装lxml 使用命令·pip install lxml安装依赖

  • 详解Python openpyxl库的基本应用

    1.导入文件  wb(可自定义) = openpyxl.load_workbook(#输入文件位置#)  2.转换为可处理的对象  sheet(可自定义)= wb['表格中对应的那一张的名称'] 3.sheet.cell(row=i, column=j) .value 可以显示对应单元格的值 4.  wb.save['位置'] 保存表格 ''' # Created by Hailong Liu # for work # 2020.11.21 ''' import openpyxl #导入表格 w

  • 详解Python中openpyxl模块基本用法

    Python操作EXCEL库的简介 1.1 Python官方库操作excel Python官方库一般使用xlrd库来读取Excel文件,使用xlwt库来生成Excel文件,使用xlutils库复制和修改Excel文件,这三个库只支持到Excel2003. 1.2 第三方库openpyxl介绍 第三方库openpyxl(可读写excel表),专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间转换容易. 注意:如果文字编码是"gb2312" 读取后就会显示乱码,请

  • python openpyxl模块的使用详解

    Python_Openpyxl 1. 安装 pip install openpyxl 2. 打开文件 ① 创建 from openpyxl import Workbook # 实例化 wb = Workbook() # 激活 worksheet ws = wb.active ② 打开已有 >>> from openpyxl import load_workbook >>> wb2 = load_workbook('文件名称.xlsx') 3. 储存数据 # 方式一:数据

  • Python openpyxl 无法保存文件的解决方案

    使用openpyxl保存文件的时候,出现最下面异常,查看openpyxl 的版本是2.5.14, 把openpyxl降级就可以解决此问题. [root@billig mytest]# pip install openpyxl==2.5.11 DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be ma

  • python通过openpyxl生成Excel文件的方法

    本文实例讲述了python通过openpyxl生成Excel文件的方法.分享给大家供大家参考.具体如下: 使用前请先安装openpyxl: easy_install openpyxl 通过这个模块可以很方便的导出数据到Excel from openpyxl.workbook import Workbook from openpyxl.writer.excel import ExcelWriter from openpyxl.cell import get_column_letter from o

  • python读取和保存为excel、csv、txt文件及对DataFrame文件的基本操作指南

    目录 一.对excel文件的处理 1.读取excel文件并将其内容转化DataFrame和矩阵形式 2.将数据写入xlsx文件 3.将数据保存为xlsx文件 4.使用excel对数据进行处理的缺点 二.对csv文件的处理 1.读取csv文件并将其内容转化为DataFrame形式 2.将DataFrame保存为csv文件 3.优缺点 三.对txt文件的处理 1.读取txt文件 2.将数据写入txt文件 3.将数据保存到txt文件 四.对DataFrame文件的基本操作 1.DataFrame的创建

  • Python 使用openpyxl处理Excel文件详情

    目录 前言 1. Excel窗口 2. 读取Excel文件 3. 写入Excel文件 4. 复制Excel文件 5. 创建工作表 6. 设置单元格字体及颜色 7. 数学公式的使用 8. 设置单元格宽高 9. 设置单元格对齐方式 10. 合并与取消单元格合并 11. 创建图表 11.1 柱状图 11.2 饼图 前言 安装openpyxl模块: pip install openpyxl 导入模块: import openpyxl 官方文档: 1. Excel窗口 工作簿(workbook):Exce

  • Python使用openpyxl读写excel文件的方法

    这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取Excel文件 需要导入相关函数. from openpyxl import load_workbook # 默认可读写,若有需要可以指定write_only和read_only为True wb = load_workbook('mainbuilding33.xlsx') 默认打开的文件为可读写,若有需要可以指定参数read_only为True. 获取

  • Python实现读取并保存文件的类

    本文实例讲述了Python实现读取并保存文件的类.分享给大家供大家参考,具体如下: 这个类写在一个叫class_format.py 的文件里, 放在D盘 >>> import os >>> os.chdir("D:\\") >>> os.getcwd() 'D:\\' >>> os.listdir(".") ...... 有一个testcsv.txt 文件放在D盘,内容如下(oi的两边有空格):

  • python实现写数字文件名的递增保存文件方法

    如下所示: col = [] img = "test1" img1 = "test2" col.append(img) col.append(img1) data=np.array(col) np.savetxt('/public/home/student6/test/test.csv',data,fmt='%s') col=[] img2 = "test3" img3 = "test4" col.append(img2) c

  • python保存文件方法小结

    1>保存为二进制文件,pkl格式 import pickle pickle.dump(data,open('file_path','wb')) #后缀.pkl可加可不加 若文件过大 pickle.dump(data,open('file_path', 'wb'),protocol=4) 读取该文件: data= pickle.load(open('file_path','rb')) 2>保存为二进制文件,npz格式 import numpy as np np.savez('file_path/

  • 将python运行结果保存至本地文件中的示例讲解

    一.建立文件,保存数据 1.使用python中内置的open函数 打开txt文件 #mode 模式 #w 只能操作写入 r 只能读取 a 向文件追加 #w+ 可读可写 r+可读可写 a+可读可追加 #wb+写入进制数据 #w模式打开文件,如果而文件中有数据,再次写入内容,会把原来的覆盖掉 file_handle=open('1.txt',mode='w') 2.向文件中写入数据 2.1 write写入 #\n 换行符 file_handle.write('hello word 你好 \n') 2

随机推荐