0

Rで大きなCSVファイル(> 15 GB)を1行ずつ読み取っています。使用しています

con  <- file("datafile.csv", open = "r")
while (length(oneLine <- readLines(con, n = 1, warn = FALSE)) > 0) {
    # code to be written
}

「記述するコード」セクションでは、各行の個々の要素を参照して配列に保存できるようにする必要があります。重要な場合、ファイルにはヘッダーがありません。

ありがとう!

4

2 に答える 2

1

read.table引数を使用して、csv ファイルであるかのように文字列textを解析できます。oneLine

# set your arguments: separator, decimal separator etc...
x <- read.table(text=oneLine, sep=",", dec=".", header=F) 

返さxれる は、data.frame簡単に配列に変換できる 1 行のみの です。

于 2014-08-19T07:01:03.717 に答える
1

次のようなことができます。

CHUNK_SIZE <- 5000
con <- file('datafile.csv', 'rt')
res <- NULL
while (nrow(chunk <- read.csv(con, nrow = CHUNK_SIZE, header = FALSE, stringsAsFactors = FALSE)) > 0) {
  res <- rbind(res, chunk)
  if (nrow(chunk) < CHUNK_SIZE) break
}
于 2014-08-19T09:02:09.150 に答える