#python #python-3.x #xlwt #errno
#python #python-3.x #xlwt #ошибка
Вопрос:
У меня есть файл .xls в том же каталоге, что и мой файл .py. Хотя это работает нормально, если я не перезаписываю существующий файл.
import xlrd, xlwt
from xlutils.copy import copy
rb2=xlrd.open_workbook("TEST_info.xls",on_demand=True)
wb2=copy(rb2)
ws2=wb2.get_sheet(0)
ws2.write(0,1,'DIFFERENt value')
wb2.save("TEST_info.xls")
Файл
«C:Python_UserExcel_spreadsheet_projexcel_proj_envScriptsmain.py «,
строка 9, в
wb2.save(«TEST_info.xls «) Файл»C:Python_UserExcel_spreadsheet_projexcel_proj_envlibsite-packagesxlwtWorkbook.py «,
строка 710, в save
doc.save(filename_or_stream, self.get_biff_data()) Файл «C:Python_UserExcel_spreadsheet_projexcel_proj_envlibsite-packagesxlwtCompoundDoc.py «,
строка 262, в сохранении
f = open(file_name_ или_filelike_obj, ‘w b’)
Ошибка ОС: [Ошибка 22] Недопустимый аргумент: ‘TEST_info.xls ‘
Ответ №1:
Согласно документам на https://xlrd.readthedocs.io/en/latest/on_demand.html:
on_demand=True
иBIFF version >= 5.0
:open_workbook()
загружает глобальные данные и возвращает их без освобождения ресурсов.
Вы должны либо установить on_demand=True
значение False
so rb2
для освобождения базовых ресурсов, либо вызвать rb2.release_resources()
перед попыткой сохранить копию.
Ответ №2:
В итоге я импортировал «ос» и написал:
if(os.path.exists(file)):
os.remove(file)
wb.save(file)