Python读取Excel指定sheet时出现PermissionError权限拒绝如何解决?
问题原因
你遇到的PermissionError: [Errno 13] Permission denied报错和sheet_name参数的设置无关,报错指向的~$T2405.6Mhz.xlsx是Excel文件处于打开状态时,系统自动生成的临时隐藏锁定文件,这类文件默认没有读取权限,代码遍历到该类文件时就会触发报错。
解决方法
- 首先关闭所有已打开的Excel文件,对应的临时文件会自动删除,重新运行代码即可正常执行。
- 可以在代码的文件过滤逻辑中新增临时文件排除规则,从根源避免同类问题,修改后的代码如下:
import numpy as np import os import pandas as pd folder = r'C:\Users\Denny\Desktop\Work\no_solution' files = os.listdir(folder) dfs = {} for file in files: # 新增排除~$开头的Excel临时文件逻辑 if file.endswith('.xlsx') and not file.startswith('~$'): dfs[file[:-5]] = pd.read_excel(os.path.join(folder,file), sheet_name='Z=143', header = None, skiprows=[0], usecols = "B:M")
- 如果关闭Excel后仍有报错,可检查目标文件夹的读写权限,或将Excel文件转移到非系统管控的普通路径下再尝试读取。
内容的提问来源于stack exchange,提问作者Denny
相关产品推荐
相关产品推荐

