R - 当给定文件路径时,使用 data.table 读取多个 CSV 文件不起作用,可能存在错误?



我想读取多个csv文件,其中每个文件只读取两列。所以我的代码是:

library(data.table)
files <- list.files(pattern="C:\Users\XYZ\PROJECT\NAME\venv\RawCSV_firstBatch\*.csv")
temp <- lapply(files, function(x) fread(x, select = c("screenNames", "retweetUserScreenName")))
data <- rbindlist(temp)

由此产生CCD_ 1。但是,当我将这些csv文件移到脚本所在的位置,并将files更改为以下内容时:

files <- list.files(pattern="*.csv")
#....

我的dir()输出是这样的:

[1] "adjaceny_list.R"        "cleanusrnms_firstbatch"
[3] "RawCSV_firstBatch"      "username_cutter.py"   

所有内容都会被阅读。你能帮我查一下到底发生了什么事吗?包含这些csv文件的文件夹与脚本所在的目录相同。所以,即使我遇到patterm= "RawCSV_firstBatch\*.csv"同样的问题。

编辑:也做到了:

files <- list.files(path="C:\Users\XYZ\PROJECT\NAME\venv\RawCSV_firstBatch\",pattern="*.csv")
#and
files <- list.files(pattern="C:/Users/XYZ/PROJECT/NAME/venv/RawCSV_firstBatch/*.csv")

两者都产生了空数据帧。

@NelsonGon提到了一个解决方法:

执行以下操作:list.files("./path/folder",pattern="*.csv$"(使用。。或根据需要。(不确定是否使用实际路径(。也可以利用~

这样就行了。非常感谢。(对不起,在我勾选这个作为答案之前有两天的限制(

最新更新