Я пытаюсь просто написать в электронную таблицу и сохранить ее. Далее в коде электронная таблица перемещается с помощью Shutil.move, поэтому файл необходимо закрыть, когда он достигнет этой точки, иначе Shutil не сможет удалить старый файл. Однако вызов wb.close() на самом деле не закрывает книгу и выдает ошибку доступа при попытке удалить файл позже.
Вот метод для записи, сохранения и сохранения. закройте файл:
def savetocell(r,col,val,file,sheet):
from openpyxl import load_workbook
book = load_workbook(file)
page = book[sheet]
page.cell(row = r,column=col+1,value=val)
book.save(file)
book.close()
Я занимался этой проблемой некоторое время и пробовал использовать режимы только чтения и записи, переключаясь на pandas и xlwings (я бы предпочел придерживаться openpyxl для упрощения форматирования с помощью остальную часть библиотеки) и почти все остальные трюки, которые я видел в Интернете (пожалуйста, порекомендуйте что-нибудь, третий раз - прелесть!). Несмотря на это, файл все равно не закроется. Проблема, похоже, заключается в том, что в книге отсутствует архив атрибутов после изучения документации openpyxl, но я действительно не уверен, как мне это изменить. Заранее спасибо!
def close(self):
"""
Close workbook file if open. Only affects read-only and write-only modes.
"""
if hasattr(self, '_archive'):
self._archive.close()
Подробнее здесь: https://stackoverflow.com/questions/786 ... ot-working
Метод Openpyxl workbook.close() не работает ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Openpyxl workbook.active деактивирует последний активный лист [дубликат]
Anonymous » » в форуме Python - 0 Ответы
- 30 Просмотры
-
Последнее сообщение Anonymous
-