У меня есть 900000 csv файлов, которые я хочу объединить в один большой data.table
. Для этого случая я создал for loop
, который читает каждый файл один за другим и добавляет их в data.table
. Проблема состоит в том, что он выполняет замедление, и количество используемого времени расширяется экспоненциально. Было бы здорово, если бы кто-то помог мне сделать код быстрее. Каждый из файлов csv имеет 300 строк и 15 столбцов.
Код, который я использую до сих пор:
library(data.table)
setwd("~/My/Folder")
WD="~/My/Folder"
data<-data.table(read.csv(text="X,Field1,PostId,ThreadId,UserId,Timestamp,Upvotes,Downvotes,Flagged,Approved,Deleted,Replies,ReplyTo,Content,Sentiment"))
csv.list<- list.files(WD)
k=1
for (i in csv.list){
temp.data<-read.csv(i)
data<-data.table(rbind(data,temp.data))
if (k %% 100 == 0)
print(k/length(csv.list))
k<-k+1
}