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

Mac M2读取gz格式CSV压缩文件时出现文件不存在错误

解决Mac M2读取本地gz格式CSV文件的FileNotFoundError问题

排查步骤与解决方法

  • 确认路径准确性
    手动核对folder_path是否完全正确:右键目标文件夹选择「显示简介」,复制「位置」栏的路径替换代码中的路径,注意路径中是否有空格、特殊字符(比如中文),如果有需要确保字符串转义正确。
    可以在代码中添加打印语句,快速定位问题:

    print("目标路径:", folder_path)
    print("路径是否存在:", os.path.exists(folder_path))
    print("匹配到的文件:", file_list)
    

    如果file_list为空,说明路径或匹配规则存在问题。

  • 检查文件匹配规则
    确认本地文件后缀是否确实是.csv.gz:有些CSV文件直接用gzip压缩后后缀是.gz,此时需要把glob.glob的匹配规则改成"*.gz"。
    如果目标文件在子目录中,需要添加recursive=True参数:

    file_list = glob.glob(os.path.join(folder_path, "*.csv.gz"), recursive=True)
    
  • 验证文件夹权限
    Mac M2的隐私权限可能限制程序访问桌面文件夹:打开「系统设置」→「隐私与安全性」→「文件与文件夹」,找到运行代码的程序(比如Python、VSCode),勾选「桌面」权限,确保程序能访问目标文件夹。

  • 优化代码容错性
    添加异常捕获和路径检查,方便精准定位问题:

    import os
    import glob
    import gzip
    import pandas as pd
    
    folder_path="/Users/name/Desktop/newdata/newdata-1.2/data/"
    
    if not os.path.isdir(folder_path):
        print(f"错误:路径不存在或不是文件夹 -> {folder_path}")
    else:
        file_list = glob.glob(os.path.join(folder_path, "*.csv.gz"))
        print(f"共找到 {len(file_list)} 个匹配文件")
        
        dfs = []
        for idx, file in enumerate(file_list):
            try:
                print(f"正在读取第 {idx+1} 个文件:{file}")
                with gzip.open(file, 'rt', encoding='utf-8') as f:
                    df = pd.read_csv(f)
                    dfs.append(df)
                print(f"读取成功,数据行数:{len(df)}")
            except Exception as e:
                print(f"读取文件失败 {file}:{str(e)}")
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 19:42:15