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

Julia如何读取不同目录下的文件?跨目录读CSV报错解决

问题原因

路径读取失败主要是两个常见问题:

  1. 手动写的双斜杠//属于硬编码路径分隔符,跨环境/跨版本的CSV.jl解析时容易出现路径识别错误;
  2. 相对路径的锚点是程序启动时的工作目录,不是脚本文件存放的目录——如果你是在项目根目录、IDE默认工作路径启动程序,哪怕脚本存在src/algorithm下,相对路径也不会以src/algorithm为起点找文件,自然读不到目标csv。
可直接运行的正确写法

优先用和启动路径无关的稳当写法,完全不会踩工作目录的坑:

using CSV
# @__DIR__ 是Julia内置宏,永远返回当前脚本自身所在的目录,不受启动路径影响
current_dir = @__DIR__
# joinpath 会自动适配当前操作系统的路径分隔符,不用手动写斜杠
target_csv_path = joinpath(current_dir, "..", "data", "info.csv")

# 读取前可先做路径校验,返回true再读能快速排错
# @assert isfile(target_csv_path) "找不到info.csv文件,请检查路径"
data = CSV.File(target_csv_path; delim = ";")

如果你已经通过pwd()确认当前程序的工作目录就是src/algorithm,也可以直接写简化版相对路径,注意不要写双斜杠:

using CSV
data = CSV.File("../data/info.csv"; delim = ";")
注意事项

所有跨平台路径拼接都优先用joinpath,不要手动硬编码/、\或者//当分隔符,能避免90%的路径找不到问题。
读取外部文件前建议先调用isfile(目标路径)做校验,能快速区分是路径错误还是CSV文件本身格式错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 16:36:39