python使用xlrd与xlutils模块在Excel写入数据时报错:PermissionError: [Errno 13] Permission denied: '复件.xls'

出问题的代码:

# 实质未能直接实现,只能间接实现,步骤方法:先复制目标文件,再在复制好的文件里添加数据,保存路径文件名均与目标文件相同,即可覆盖原文件,间接实现Excel数据的添加更改
# 导入相关模块
import xlrd
from xlutils import copy

# 1、使用xlrd打开Excel
open_mb_file = xlrd.open_workbook("复件.xls")
# 2、使用xlutils模块的copy复制打开的文件,并保留原格式
open_mb_file_cp = copy.copy(open_mb_file)
# 3、使用下标定位的方式定位到Excel工作簿里的工作表
# pycharm不提示此方法get_sheet()
sheet_index = open_mb_file_cp.get_sheet(0)
# 4、向表格写入新的数据
sheet_index.write(0,13,'新数据写入')
# 5、保存已改后的数据
open_mb_file_cp.save('复件.xls')
print('写入新数据保存成功!')

报错图片:

原因:复制的文件未关闭,是打开状态
解决:关掉文件,重新运行代码即可

原文地址:https://www.cnblogs.com/will-wu/p/14708185.html