如何在Google Colab中遍历文件夹内多个CSV文件并传入函数作为参数
原有代码问题说明
你的代码存在3个导致运行失败的核心问题:
- 云盘路径配置错误:Google Colab完成Drive挂载后,个人云盘根目录的实际路径为
/content/drive/MyDrive/,你写的/content/drive/dataset缺少MyDrive层级,无法定位到目标dataset文件夹 - 目录遍历逻辑错误:直接对路径字符串执行
for循环,只会逐个遍历字符串中的单个字符,不会读取目录下的实际文件列表 - 文件读取逻辑错误:
pd.read_csv('filename')传入的是固定字符串,既没有拼接每个文件的完整路径,也没有提前导入pandas依赖库
可直接运行的实现方案
使用Python内置的os模块遍历目标文件夹,筛选csv格式文件后逐个读取,再传入自定义函数即可,完整代码如下:
# 导入所需依赖 from google.colab import drive import pandas as pd import os # 挂载Google Drive drive.mount('/content/drive/') # 自定义处理函数 def myfunction(data): ### 在这里编写你的自定义函数处理逻辑 ### pass # 配置数据集文件夹路径,若dataset放在云盘根目录则直接用该路径即可 dataset_dir = '/content/drive/MyDrive/dataset' # 遍历文件夹下所有内容 for file_name in os.listdir(dataset_dir): # 仅处理.csv后缀的文件,过滤隐藏文件、其他格式文件 if file_name.endswith('.csv'): # 拼接得到文件的完整绝对路径 file_full_path = os.path.join(dataset_dir, file_name) # 读取csv文件为DataFrame df = pd.read_csv(file_full_path) # 将读取的数据传入自定义函数 myfunction(df) # 可选:打印处理进度,方便确认运行状态 print(f"已完成处理:{file_name}")
如果你的dataset文件夹没有放在云盘根目录,可以点击Colab左侧边栏的文件夹图标,在文件浏览器中找到目标dataset文件夹,右键选择「复制路径」替换
dataset_dir的取值即可,避免手动输入路径出错。
内容的提问来源于stack exchange,提问作者nidzytryingtocode
相关产品推荐
相关产品推荐

