如何将多个ndjson文件导入到R作为一个数据帧?

问题描述

我需要打开100个ndjson大文件(具有相同的列), 我已经准备了一个脚本来应用于每个文件,但是我不想重复100次!

使用ndjson :: stream_in,我只能将1个ndjson文件作为数据帧打开到R中

我尝试了打开多个csv文件并将其仅合并为1个dafatframe的过程,但不适用于ndjson文件:(

library(data.table)
library(purrr)

map_df_fread <- function(path,pattern = "*.ndjson") {
    list.files(path,pattern,full.names = TRUE) %>% 
    map_df(~fread(.,stringsAsFactors = FALSE))
}


myfiles <-
    list.files(path = "C:/Users/sandrine/Documents/Projet/CAD/A/",pattern = "*.ndjson",full.names = T) %>% 
    map_df_fread(~fread(.,stringsAsFactors = FALSE)) 

我试图也找到一个将ndjson文件转换为csv的程序包...但是没有找到任何包。

有什么主意吗?

解决方法

使用您首先提到的自己的方法,这行得通吗?

library(tidyverse)
library(ndjson)
final_df <- 
  list.files(path = "C:/Users/sandrine/Documents/Projet/CAD/A/",pattern = "*.ndjson",full.names = T) %>% 
  map_dfr(~stream_in(.))