如何将不同的文件读入目录和json文件的结构

时间:2018-12-30 22:32:02

标签: r

我想知道哪种方法是从55个具有1、2或3个文件json的文件夹中读取的最有效方法...

enter image description here

现在,我要打开每个文件夹,更改名称,放入我在R中使用的同一文件夹中,并读取它们,最后将所有文件合并,但是我完全确定更好的方法

我想知道是否有机会对R Studio说:

  1. 读取该文件夹的名称始于2018-10-27,结束于2018-12-20
  2. 使用parseTweets
  3. 读取其中的每个文件
  4. 将每个文件与前一个文件联系起来

现在我的临时解决方案:

 install.packages("streamR")
 library(streamR)

 #reading file

 tweets.df.31 <- parseTweets("10_31_0_raw.json")
 tweets.df.30 <- parseTweets("10_30_0_raw.json")
 tweets.df.29 <- parseTweets("10_29_0_raw.json")
 tweets.df.28 <- parseTweets("10_28_0_raw.json")

 #concat multiple files

 new <- rbind(tweets.df.31, tweets.df.30,tweets.df.29,tweets.df.28)

谢谢!

2 个答案:

答案 0 :(得分:0)

我不确定parseTweets函数返回什么,但是我认为类似的事情应该起作用。

folders_dir <- "path/to/folders"
files <- dir(folders_dir, recursive=TRUE, full.names=TRUE)

l <- lapply(files, parseTweets)

res <- plyr::ldply(l)

答案 1 :(得分:0)

library(fs)对于获取/整理路径,文件和目录非常方便。就像使用fs::dir_ls一样简单:

paths <- dir_ls(recursive = TRUE, glob = "*.json")

接下来,确定哪个paths[[x]]是2018年12月20日,然后是paths <- paths[[1:x]](可能有些复杂,但让我们保持简单;-))。最后,

lapply(paths, parseTweets)

应该这样做。