Julia 读取子文件夹中的csv文件

Julia 读取子文件夹中的csv文件,julia,Julia,我以csv格式存储数据,并将它们放在“数据集”文件夹中。我希望只使用它们的名称读取数据,如:CSV.read(“name\u of_data.CSV”)而不告诉Julia完整路径,如:CSV.read(“Datasets/name\u of_data.CSV”) 我尝试使用push!(加载路径,“数据集”)但它不起作用 谢谢。您应该将Julia的当前工作目录更改为数据集。在尝试读取文件之前,您可以先写入cd(“数据集”)(假设pwd()返回数据集的父目录) 您还可以编写以下内容: cd("Dat

我以csv格式存储数据,并将它们放在“数据集”文件夹中。我希望只使用它们的名称读取数据,如:
CSV.read(“name\u of_data.CSV”)
而不告诉Julia完整路径,如:
CSV.read(“Datasets/name\u of_data.CSV”)

我尝试使用
push!(加载路径,“数据集”)
但它不起作用


谢谢。

您应该将Julia的当前工作目录更改为
数据集。在尝试读取文件之前,您可以先写入
cd(“数据集”)
(假设
pwd()
返回
数据集的父目录)

您还可以编写以下内容:

cd("Datasets") do
    CSV.read("name_of_data.csv")
end
将目录临时更改为
数据集
,以读取文件

<朱丽亚>使用代码>加载路径> /COD>来决定在“强”>加载代码< /强>(不是数据)时要考虑哪些路径作为项目环境或包目录。

编辑

这是一个可能的方法示例:

function expandpath(directories, filenames)
    fnset = Set(filenames)
    namemapping = Dict{String, String}()
    for d in directories
        for fn in readdir(d)
            if fn in fnset
                fullpath = joinpath(d, fn)
                if isfile(fullpath)
                    namemapping[fn] = fullpath
                end
            end
        end
    end
    collect(values(namemapping))
end

其中,
目录
是要搜索的目录列表,
文件名
是文件名列表。因此,您将获得一个扩展路径列表,该路径指向在列出的目录中找到的文件名(保留最后一个路径以防重复)。

这解决了我的需要。但是我可以有类似“多工作目录”的东西吗?因为当我有很多子目录要搜索时,它变得非常麻烦。假设我有“Datasets_1”、…、“Datasets_n”,如果我能像在Matlab中使用
addpath
函数一样搜索所有这些目录,那就更好了。我正在为答案添加一个方法来完成这项工作。如果要使用另一种解析重复名称的方法,可能需要对其进行修改。