2

我需要打开 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 的包……但没有找到。

任何想法?

4

1 回答 1

1

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

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(.))
于 2020-08-25T14:32:52.663 回答