簡體   English   中英

在R中一次導入大型CSV文件

[英]Import big CSV files at once in R

我在一個文件夾中有70個具有相同列的csv文件,每個文件均為0.5 GB。 我想將它們導入R中的單個數據框中。

通常我按如下方式正確導入每個:

df <- read_delim("file.csv", 
"|", escape_double = FALSE, col_types = cols(pc_no = col_character(), 
    id_key = col_character()), trim_ws = TRUE)

要導入所有這些代碼,應進行如下編碼和錯誤,如下所示:缺少參數“ delim”,沒有默認值

tbl <-
list.files(pattern = "*.csv") %>% 
map_df(~read_delim("|", escape_double = FALSE, col_types = cols(pc_no = col_character(), id_key = col_character()), trim_ws = TRUE))

使用read_csv時,已導入但僅顯示一列,其中包含所有列和值。

 tbl <-
 list.files(pattern = "*.csv") %>% 
 map_df(~read_csv(., col_types = cols(.default = "c")))

在第二段代碼中,您缺少. ,因此read_delim將您的參數解釋為read_delim(file="|", delim=<nothing provided>, ...) 嘗試:

tbl <- list.files(pattern = "*.csv") %>% 
  map_df(~ read_delim(., delim = "|", escape_double = FALSE,
                      col_types = cols(pc_no = col_character(), id_key = col_character()),
                      trim_ws = TRUE))

我在這里明確標識了delim= ,但這不是嚴格必需的。 如果您第一次嘗試過這樣做,您會看到

readr::read_delim(delim = "|", escape_double = FALSE,
                  col_types = cols(pc_no = col_character(), id_key = col_character()),
                  trim_ws = TRUE)
# Error in read_delimited(file, tokenizer, col_names = col_names, col_types = col_types,  : 
#   argument "file" is missing, with no default

這更能說明實際問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM