最近刚接触Julia,需要做一些数据分析的东西,数据的提取部分已经完成了,在文件读取路径这块有一些问题想请教一下。
/Users/D1/D2/0000001_xxxxx/1.csv
1、因为有一部分自动化的需求,最后一个子文件夹里有1,2,3……多个表都要取数据。Julia是否有这种自动对文件夹里的每个文件都执行操作的循环语句?(在文件读取这块)
2、0000001_xxxxx这个部分是一个正序数列,就是单个子文件夹里循环完之后还要回到上级在进行循环。并且0000001作为id要标注。我之前用R的时候有str_sub这个函数,监测到0取9位这样,不知道Julia有没有类似的函数。
因为我在网络上搜索的文件读取的问题大多集中在如何读取不同类型的文件,因此并没有找到相应的有关的解答。
感谢!QAQ
1、因为有一部分自动化的需求,最后一个子文件夹里有1,2,3……多个表都要取数据。Julia是否有这种自动对文件夹里的每个文件都执行操作的循环语句?(在文件读取这块)
help?> walkdir
search: walkdir
walkdir(dir; topdown=true, follow_symlinks=false, onerror=throw)
Return an iterator that walks the directory tree of a directory. The iterator returns a tuple
containing (rootpath, dirs, files). The directory tree can be traversed top-down or
bottom-up. If walkdir or stat encounters a IOError it will rethrow the error by default. A
custom error handling function can be provided through onerror keyword argument. onerror is
called with a IOError as argument.
Examples
≡≡≡≡≡≡≡≡≡≡
for (root, dirs, files) in walkdir(".")
println("Directories in $root")
for dir in dirs
println(joinpath(root, dir)) # path to directories
end
println("Files in $root")
for file in files
println(joinpath(root, file)) # path to files
end
end
julia> mkpath("my/test/dir");
julia> itr = walkdir("my");
julia> (root, dirs, files) = first(itr)
("my", ["test"], String[])
julia> (root, dirs, files) = first(itr)
("my/test", ["dir"], String[])
julia> (root, dirs, files) = first(itr)
("my/test/dir", String[], String[])