R - write_parquet в цикле

0

Вопрос

fwrite зацикливается на многих .csv файлы в рабочем каталоге, но когда я пишу .parquet он перезаписывается каждый раз.

Я попробовал несколько подходов, в основном я пытаюсь использовать имя файла I, чтобы сохранить .csv имя файла, как показано ниже, без его перезаписи.

rm(list = ls())
gc()

# Set up environment #
require("data.table")
require("arrow")

# Set directory to data, define files #
setwd("E:/TransferComplete/07/")

files <- list.files(pattern = "csv")

for (i in files){  setwd("E:/TransferComplete/07/")
loopStart <- Sys.time()
  
  bb <- fread(i,header = TRUE,sep = ",", data.table = FALSE, stringsAsFactors = FALSE,
                select = c("x","y","z"))
  gc()
  
  
  write_parquet(bb,
  'E:/P/i.parquet')
  
  
  loopEnd <- Sys.time()
  loopTime <- round(as.numeric(loopEnd) - as.numeric(loopStart), 0)
}
csv loops parquet r
2021-11-23 23:08:00
2

Лучший ответ

1

Замените это

write_parquet(bb,
  'E:/P/i.parquet')

к этому

write_parquet(bb,paste0('E:/P/',i,'.parquet'))
2021-11-24 00:31:37
1

Вы были очень близки в своем вопросе. Когда вы пишете .parquet, вам нужно отделить i при записи файла или цикле будет продолжена запись файла под названием i.parquet.

write_parquet(bb,paste0('E:/P/',i,'.parquet'))
2021-11-24 00:40:17

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................