Как читать различные файлы в структуру каталогов и файлов JSON - PullRequest
0 голосов
/ 31 декабря 2018

Мне интересно, какой самый эффективный способ чтения из 55 папок с 1, 2 или 3 файлами json ...

enter image description here

Длятеперь я открываю каждую папку, меняю ее имя, помещаю в ту же папку, которую использую в R, и читаю их, и в самом конце объединяю все файлы, но я полностью уверен, что есть лучший способ

Я хочу знать, есть ли шанс сказать R Studio:

  1. Прочитайте эту папку с именем, начиная с 2018-10-27 и заканчивая 2018-12-20
  2. Прочитать каждый из файлов внутри, используя parseTweets
  3. , сопоставить каждый файл с предыдущим

А пока мое предварительное решение:

 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 голосов
/ 31 декабря 2018

library(fs) очень удобен для получения / определения путей, файлов и каталогов.Это может быть так же просто, как использовать fs::dir_ls, как в:

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

Далее, определите, какой paths[[x]] - 2018-12-20, а затем paths <- paths[[1:x]] (возможно, есть что-то более сложное, но давайтебудь проще ;-) ).Наконец,

lapply(paths, parseTweets)

должен это сделать.

0 голосов
/ 31 декабря 2018

Я не уверен, что возвращает функция parseTweets, но я думаю, что-то подобное должно работать.

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

l <- lapply(files, parseTweets)

res <- plyr::ldply(l)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...