R - write_parquet in loop

0

Domanda

fwrite è un loop nel corso di molti .csv file nella directory di lavoro, ma quando scrivo un .parquet sovrascrive ogni volta.

Ho provato diversi approcci fondamentalmente sto cercando di usare il nome del file che ho per mantenere il .csv il nome del file, come mostrato di seguito senza sovrascrivere.

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

Migliore risposta

1

Sostituire questo

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

per questo

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

Eri molto vicino nella tua domanda. Quando stai scrivendo il .parquetè necessario separare il i quando si scrive il file o il ciclo di mantenere la scrittura di un file chiamato i.parquet.

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

In altre lingue

Questa pagina è in altre lingue

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