python-创建xlsx文件的副本,其中所有公式均已删除
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-创建xlsx文件的副本,其中所有公式均已删除,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1277字,纯文字阅读大概需要2分钟。
内容图文
![python-创建xlsx文件的副本,其中所有公式均已删除](/upload/InfoBanner/zyjiaocheng/663/29e63152db104ac9a8a85376c09e92a8.jpg)
无法使用xlrd复制xlsx和xlsm文件,因为它说“ formatting info = True”尚未实现,并且
执行以下操作时,openpyxl的内存不足:
import xlrd
from xlutils.copy import copy
from openpyxl import load_workbook
if file_format == 'xls':
input_file=xlrd.open_workbook(input_file_location,formatting_info=True)
wb = copy(input_file)
wb.save(destination_file)
if file_format == 'xlsx' or file_format == 'xlsm' :
input_file = load_workbook(input_file_location,data_only=True)
input_file.save(destination_file)
解决方法:
如果您只想复制文件,请使用shutil. openpyxl仍然存在一些不支持的东西,例如图像和图表将丢失.而且,正如您所看到的,内存是一个问题.每个单元使用大约45 kB的内存.
openpyxl文档非常清楚打开工作簿时使用的不同选项:data_only仅读取任何公式的结果,而忽略该公式.
如果要复制工作表,请参见https://bitbucket.org/openpyxl/openpyxl/issue/171/copy-worksheet-function.
否则,您可以使用两本工作簿,一本处于只读模式,另一本处于只写模式.但是,如果要复制,最好在文件系统中完成.
如果仅要将值从一个工作簿复制到另一个工作簿,则可以将只读和仅写模式组合以减少内存占用.以下伪代码应为您提供基础.
wb1 = load_workbook("file.xlsx", read_only=True, data_only=True)
wb2 = Workbook(write_only=True)
for ws1 in wb1:
ws2 = wb2.create_sheet(ws1.title)
for r1 in ws1:
ws2.append(r1) # this might need unpacking to use values
wb2.save("copy.xlsx")
内容总结
以上是互联网集市为您收集整理的python-创建xlsx文件的副本,其中所有公式均已删除全部内容,希望文章能够帮你解决python-创建xlsx文件的副本,其中所有公式均已删除所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。