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

Google Colab遍历Drive CSV文件夹遇FileNotFoundError的修复方案

修复Google Colab中遍历CSV文件添加技术指标的错误

核心错误分析

你遇到的FileNotFoundError本质是文件路径不完整:os.listdir(test_dir)返回的只是文件夹里的文件名(比如Copy of 138SL.csv),而不是完整的绝对路径。当你的TAfunction尝试用这个文件名读取文件时,Python会在当前工作目录(不是你的Drive文件夹)里查找,自然找不到对应的文件。

另外还有两个小问题:

  • 函数名拼写不一致:定义的是TAfunction,调用时写成了TA_function
  • 输出路径不符合需求:你想要导出到另一个文件夹,但原代码是直接覆盖原CSV文件

完整修复步骤及代码

1. 先确保挂载Google Drive

在Colab中必须先挂载Drive才能访问里面的文件,先运行这段代码:

from google.colab import drive
drive.mount('/content/drive')

运行后会弹出授权链接,按照提示完成挂载即可。

2. 修正后的完整代码

import os
import pandas as pd
import pandas_ta as ta
from google.colab import files

def TAfunction(data_path, output_path):
    # 读取完整路径的CSV文件
    stock_df = pd.read_csv(data_path)
    # 定义技术指标策略
    CustomStrategy = ta.Strategy(
        name="RSI Strat",
        description="RSI, BBands, MACD",
        ta=[
            {"kind":"rsi"},
            {"kind":"bbands", "length": 20},
            {"kind":"macd", "fast": 8, "slow":21},
        ]
    )
    # 添加技术指标
    stock_df.ta.strategy(CustomStrategy)
    # 导出到指定的输出路径
    stock_df.to_csv(output_path, encoding='utf-8-sig', index=False)
    # 如果需要下载到本地,可保留这行,但循环中建议批量处理后再下载
    # files.download(output_path)

# 定义输入和输出文件夹路径
input_dir = '/content/drive/MyDrive/Colab Notebooks/Stocks CSVs/Stocks/'
output_dir = '/content/drive/MyDrive/Colab Notebooks/Stocks CSVs/UpdatedStocks/'

# 确保输出文件夹存在,如果不存在就创建
if not os.path.exists(output_dir):
    os.makedirs(output_dir)

# 遍历输入文件夹中的CSV文件
for file in os.listdir(input_dir):
    if file.endswith(".csv"):
        # 构造完整的输入和输出路径
        input_file_path = os.path.join(input_dir, file)
        output_file_path = os.path.join(output_dir, file)
        # 调用处理函数
        TAfunction(input_file_path, output_file_path)

print("所有文件处理完成!")

关键修复点说明

  • 完整路径构造:用os.path.join()把文件夹路径和文件名拼接成完整的绝对路径,这样Python就能准确找到文件
  • 函数名统一:把调用的TA_function改成和定义一致的TAfunction
  • 分离输入输出路径:明确区分输入文件夹和输出文件夹,避免覆盖原文件,同时确保输出文件夹存在(用os.makedirs()创建)
  • 可选优化:如果需要批量下载处理后的文件,建议循环完成后再批量操作,或者用zip打包后下载,避免循环中多次触发下载弹窗

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 10:45:28