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

跨目录读写CSV文件报错:Python跨目录操作CSV运行失败

解决跨目录CSV文件读取的问题

咱们直接来搞定你遇到的问题,其实根源很简单:

问题核心原因

你在open()函数里写了字符串'latest_file',而不是你之前找到的变量latest_file!程序会误以为你要打开当前Python脚本目录下一个名叫latest_file的文件,自然找不到目标CSV。另外还有个小细节:Windows路径里的反斜杠\在Python字符串里需要特殊处理,不然可能被当成转义字符解析出错。

修正后的完整代码

import csv
import glob
import os

# 用原始字符串处理Windows路径,避免转义问题
list_of_files = glob.glob(r'C:\D2\D2a\D2b\*.csv')
print('found csv files:', list_of_files)

latest_file = max(list_of_files, key=os.path.getmtime)
print('The most recent .csv file found:', latest_file, '\n')

# 直接使用存储了完整路径的变量,不要加引号!
with open(latest_file, newline='') as DAQfile:
    reader = csv.reader(DAQfile, delimiter=',')
    rows_count = 0
    for row in reader:
        rows_count += 1
    print(f"Total rows in latest CSV: {rows_count}")

关键修改点

  • 路径转义处理:给glob的路径字符串加前缀r(原始字符串),这样\就不会被Python当成转义字符,确保路径解析正确。
  • 文件打开参数修正:把open('latest_file')改成open(latest_file),直接使用存储了最新文件完整路径的变量,而不是字符串字面量。
  • (可选优化)把计数变量改成更直观的rows_count,用f-string让输出信息更清晰。

效果验证

运行这段代码后,程序会正确定位到C:\D2\D2a\D2b目录下的最新CSV文件,顺利读取并统计行数,不会再出现FileNotFoundError啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:32:51