用openpyxl打开Excel文件后,尝试删除之,但该进程阻塞了该文件,因此无法删除。
Windows环境
- Windows8.1
- Python 3.10.7
- openpyxl 3.0.10
import os
from openpyxl import load_workbook
FNAME = 'sample.xlsx'
# 打开 EXCEL 文件
wb = load_workbook ( FNAME, read_only=True )
sheet = wb.active
# 迭代行
for row in sheet.iter_rows() :
# 处理某事
# 中止迭代
break
# 关闭工作簿对象
wb.close()
# 删除 EXCEL 文件 --> Win32 错误
os.remove ( FNAME )
没有找到根本的解决方案。
只能在不破坏迭代的情况下进行更改。
import os
from openpyxl import load_workbook
FNAME = 'sample.xlsx'
# 打开 EXCEL 文件
wb = load_workbook ( FNAME, read_only=True )
sheet = wb.active
# 迭代行
is_terminated = False
for row in sheet.iter_rows() :
# 如果不需要进一步处理,则空闲
if is_terminated is True: continue
# 处理某事
# 中止迭代
is_terminated = True
# 关闭工作簿对象
wb.close()
# 删除EXCEL文件-->成功
os.remove ( FNAME )