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之後此報錯解除!
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。如有錯誤或未考慮完全的地方,望不吝賜教。
推薦閱讀:
- 詳解Python中openpyxl模塊基本用法
- 解決python 使用openpyxl讀寫大文件的坑
- Python如何實現Excel的最合適列寬(openpyxl)
- Python 操作 Excel 之 openpyxl 模塊
- python 使用openpyxl讀取excel數據