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('写入新数据保存成功!')
报错图片:
原因:复制的文件未关闭,是打开状态
解决:关掉文件,重新运行代码即可