我想读取多个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$"(使用。。或根据需要。(不确定是否使用实际路径(。也可以利用~
这样就行了。非常感谢。(对不起,在我勾选这个作为答案之前有两天的限制(