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
相关产品推荐
相关产品推荐

