如何用Python在指定文件夹创建CSV文件?PermissionError报错如何解决
错误原因
- 触发
PermissionError的直接原因:你调用open()函数时传入的是文件夹路径,系统不支持直接对文件夹执行写入操作,自然会抛出权限拒绝报错。 - 代码逻辑错误1:
csv.writer()的第一个入参需要是open()返回的可写文件对象,你当前传入的是filename字符串,参数类型不匹配,就算路径改对也无法正常写入内容。 - 代码逻辑错误2:没有将目标文件夹路径和你生成的文件名拼接为完整的文件存储路径,无法把生成的CSV存到指定文件夹下。
修正后可运行代码
import csv import os # 预先定义目标文件夹路径,减少重复代码 target_folder = r'C:\Users\vion1\Ele\Engie\Exercices\concept\create_multiple_file' # 直接遍历1到20,无需额外定义累加变量 for num in range(1, 21): # 拼接得到完整CSV文件路径,记得加.csv后缀 csv_full_path = os.path.join(target_folder, f"Pikachu{num}.csv") # 打开具体的CSV文件,新增newline=''避免Windows下出现多余空行 with open(csv_full_path, "w", newline='', encoding='utf-8') as csv_file: filewriter = csv.writer(csv_file, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL) filewriter.writerow(['Name', 'Profession']) filewriter.writerow(['Derek', 'Software Developer']) filewriter.writerow(['Steve', 'Software Developer']) filewriter.writerow(['Paul', 'Manager'])
其他注意事项
- 如果修改后仍报权限错误,右键点击你运行代码的终端/IDE,选择「以管理员身份运行」后重试即可。
- 原代码中的
os.chmod在Windows环境下无需额外配置,只要路径正确就可以正常创建文件。
内容的提问来源于stack exchange,提问作者SRP
相关产品推荐
相关产品推荐

