在openpyxl中关闭文件
正如阅读文档所预期的那样,这两个过程均未完成:
worksheet.close()workbook.close()
一旦在openpyxl中完成,有没有办法关闭文件?还是在程序退出时自动处理?我不想让电子表格挂在内存中。
回答:
好吧,您可以看一下源代码,Im目前正在使用1.5.5
def load_workbook(filename, use_iterators=False): if isinstance(filename, file):
# fileobject must have been opened with 'rb' flag
# it is required by zipfile
if 'b' not in filename.mode:
raise OpenModeError("File-object must be opened in binary mode")
try:
archive = ZipFile(filename, 'r', ZIP_DEFLATED)
except (BadZipfile, RuntimeError, IOError, ValueError), e:
raise InvalidFileException(unicode(e))
wb = Workbook()
if use_iterators:
wb._set_optimized_read()
try:
_load_workbook(wb, archive, filename, use_iterators)
except KeyError, e:
raise InvalidFileException(unicode(e))
finally:
archive.close()
return wb
看起来是的,它确实关闭了存档,当我们加载工作簿时,如何保存它呢?
def save(self, filename): """Write data into the archive."""
archive = ZipFile(filename, 'w', ZIP_DEFLATED)
self.write_data(archive)
archive.close()
当我们保存档案时,它似乎也会关闭档案。
从根本上讲,我们从一个文件中将一个excel工作簿读入内存,然后将其关闭,进行更新,如果不保存,则更改可能会丢失,如果保存,则写入后文件将被关闭。
一旦在openpyxl中完成,有没有办法关闭文件?还是在程序退出时自动处理?我不想让电子表格挂在内存中。
您可以使用保存更改wb.save(filename = dest_filename)
为handled
automatically看书或写,然后是它的操作后关闭文件时,可自动为openpyxl保存更改,然后 在于class
Workbook(object):不具有__del__
那么没有什么是当对象被删除或垃圾收集调用,再次这是针对1.5.5
当前版本,1.5.8
截至撰写本文时,我怀疑它已经发生了很大变化。
以上是 在openpyxl中关闭文件 的全部内容, 来源链接: utcz.com/qa/430403.html