我正在使用如下命令获取文件夹中的文件列表。
我的模式参数无法正常工作。我想拉出一个只有jpg或csv文件的列表。我该如何设置模式参数?
此外,该文件夹包含由系统创建的.RData和.Rhistory文件。我没有把它们。在这种情况下,当我编译文件夹中的文件列表时,是否有更简单的方法来忽略系统文件?
filenames=list.files(path = "//c:/ch7data", pattern = "*.jpg|*.csv")
------------------------- UPDATE1
根据我在下面的代码中使用的一个答案提供的建议,但它似乎没有用:(。
我得到了.Rdata和.rhistory以及。和..我不想要这些文件/值。
我只想在变量filenames
中使用jpg,csv和xlsx文件filenames=list.files(path = "//C:/ch7data", all.files = TRUE)
> filenames
[1] "." ".." ".RData" ".Rhistory"
[5] "CH7Data_20130401T130110.csv" "CH7Data_20130401T130110.jpg" "CH7Data_20130401T130610.csv" "CH7Data_20130401T130610.jpg"
[9] "CH7Data_20130401T131610.csv" "CH7Data_20130401T131610.jpg" "CH7Data_20130401T135010.csv" "CH7Data_20130401T135010.jpg"
[13] "ffa.xlsx" "Thumbs.db"
----------------------- UPDATE2
我使用了如下命令,它避免了。 ,..,。Rdata和.rhistory :) 有什么方法可以避免使用thumbs.db?
> filenames=list.files(path = "//C:/ch7data", all.files = FALSE, no..=TRUE)
> filenames
[1] "CH7Data_20130401T130110.csv" "CH7Data_20130401T130110.jpg" "CH7Data_20130401T130610.csv" "CH7Data_20130401T130610.jpg"
[5] "CH7Data_20130401T131610.csv" "CH7Data_20130401T131610.jpg" "CH7Data_20130401T135010.csv" "CH7Data_20130401T135010.jpg"
[9] "ffa.xlsx" "Thumbs.db"
答案 0 :(得分:1)
另一种选择:
Sys.glob(file.path("c:","ch7data",c("*.jpg","*.csv")))
file.path
以独立于操作系统的方式创建路径。答案 1 :(得分:1)
要仅获取以 .jpg 或 .csv 结尾的文件,您可以使用以下模式:
list.files(path = "//c:/ch7data", pattern = "^(.*)+(\\.jpg|\\.csv)$")