JupyterLab中Python3如何用pandas读取文件夹最新CSV文件?
代码修正方案
原代码存在的核心问题
- 方法调用错误:pandas不存在
pd.read()方法,读取CSV文件需使用pd.read_csv() - 路径拼接缺失:
os.listdir()仅返回文件名,未拼接父级文件夹路径,工作目录不匹配时会无法定位文件 - 排序逻辑错误:
os.listdir()返回的文件列表默认按文件名排序,不是按文件生成/修改时间排序,直接取末尾元素无法保证是最新文件
修正后可运行代码
# 导入依赖 import pandas as pd import os # 配置目标文件夹路径 FolderPath = "Pathname of folder containing the two most recent csv files" # 获取文件夹内所有CSV文件的完整路径 csv_files = [os.path.join(FolderPath, f) for f in os.listdir(FolderPath) if f.lower().endswith('.csv')] # 判断是否存在CSV文件 if not csv_files: raise FileNotFoundError("目标文件夹内未找到CSV文件") # 按文件修改时间排序,最新的排在末尾 csv_files.sort(key=lambda x: os.path.getmtime(x)) # 取最新的CSV文件路径 newest_file = csv_files[-1] print(f"读取的最新文件为:{newest_file}") # 读取文件内容 updated_data = pd.read_csv(newest_file) print(updated_data)
改动说明
- 过滤了非CSV格式的文件,避免读取到无关文件报错
- 通过
os.path.join()拼接完整文件路径,解决路径不匹配问题 - 使用
os.path.getmtime()获取文件修改时间,按时间排序后取末尾元素,确保拿到最新生成的文件 - 替换错误的
pd.read()为正确的pd.read_csv()方法
内容的提问来源于stack exchange,提问作者Zach
相关产品推荐
相关产品推荐

