Мне нужно разбить большой файл (14 гигабайт) на файлы меньшего размера.Формат этого файла txt, вкладка ";"и я знаю, что это имеет 70 столбцов (строка, двойной).Я хотел бы прочитать 1 миллион и сохранить их в разных файлах, file1, file2 ... fileN.
после помощи @MKR
, но процесс был очень медленным, я пытался использовать fread,но это было невозможно.
Как мне оптимизировать этот код?
НОВЫЙ КОД
chunkSize <- 10000
conex <- file(description = db, open = "r")
data <- read.table(conex, nrows = chunkSize, header=T, fill=TRUE, sep =";")
index <- 0
counter <- 0
total <- 0
chunkSize <- 500000
conex <- file(description=db,open="r")
dataChunk <- read.table(conex, nrows=chunkSize, header=T, fill=TRUE,sep=";")
repeat {
dataChunk <- read.table(conex, nrows=chunkSize, header=FALSE, fill = TRUE, sep=";", col.names=db_colnames)
total <- total + sum(dataChunk$total)
counter <- counter + nrow(dataChunk)
write.table(dataChunk, file = paste0("MY_FILE_new",index),sep=";", row.names = FALSE)
if (nrow(dataChunk) != chunkSize){
print('linesok')
break}
index <- index + 1
print(paste('lines', index * chunkSize))
}