使用pathlib与Pandas时遭遇PermissionError 13权限问题求助
权限错误解决:pandas.to_csv()写入文件夹引发PermissionError
问题重现
我创建了指向目标文件夹的路径:
path = pathlib.Path.home() / 'Desktop' / 'Extraction' print(path)
打印验证路径正确:
C:\Users\XXX\Desktop\Extraction
随后尝试用该路径导出CSV文件:
output3.to_csv(path, 'example1.csv')
其中output3是DataFrame变量。已尝试管理员身份运行IDE、检查文件夹读写权限,但仍收到权限错误:
PermissionError: [Errno 13] Permission denied: 'C:\Users\XXX\Desktop\Extraction'
错误原因
你传给to_csv()的path是文件夹路径,但pandas.DataFrame.to_csv()要求第一个参数必须是具体的文件路径(包含完整文件名)。直接传入文件夹路径时,pandas会尝试将文件夹当作文件写入,系统会拒绝这种操作,从而触发权限错误。另外,你把文件名放在第二个参数的位置也是错误的——to_csv()的第二个参数是分隔符sep,默认值为逗号,这样写会把'example1.csv'当成分隔符使用,完全不符合预期。
解决方法
将文件夹路径与文件名拼接成完整的文件路径,再传给to_csv():
- 分步拼接写法:
# 拼接出完整文件路径 full_file_path = path / 'example1.csv' # 导出CSV output3.to_csv(full_file_path)
- 直接拼接写法:
output3.to_csv(path / 'example1.csv')
内容的提问来源于stack exchange,提问作者Jackson tse
相关产品推荐
相关产品推荐

