You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Pandas合并多CSV文件时遭遇PermissionError权限拒绝错误

解决多CSV文件合并时的PermissionError问题

问题原因

你的代码报错是因为os.listdir("./Sales_data")会列出目录下所有内容,包括Jupyter Notebook自动生成的隐藏文件夹.ipynb_checkpoints。而pd.read_csv()只能读取文件,无法读取文件夹,因此触发权限拒绝错误。

解决方案

核心思路是只筛选出目录下的CSV文件,跳过非CSV类型的内容(比如文件夹、其他格式文件)。以下是修正后的完整代码:

import pandas as pd
import os

# 仅筛选后缀为.csv的文件,跳过文件夹和其他非CSV内容
files = [file for file in os.listdir("./Sales_data") if file.endswith('.csv')]
all_months_data = pd.DataFrame()

for file in files:
    # 用os.path.join拼接路径,适配不同操作系统的路径分隔符
    file_path = os.path.join("./Sales_data", file)
    df = pd.read_csv(file_path)
    all_months_data = pd.concat([all_months_data, df])

# 可选:将合并后的数据保存为新CSV文件(index=False避免生成额外索引列)
all_months_data.to_csv("./Sales_data/all_sales_data.csv", index=False)
all_months_data.head()

关键优化点

  • 过滤文件类型:通过file.endswith('.csv')确保只处理CSV文件,直接跳过.ipynb_checkpoints这类文件夹
  • 安全路径拼接:使用os.path.join替代字符串拼接路径,避免Windows/Linux路径分隔符差异导致的错误
  • 结果持久化:添加to_csv步骤将合并结果保存,方便后续直接使用

内容的提问来源于stack exchange,提问作者Batman1865

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 15:37:09