Таким образом, у меня есть эта входная CSV формы,Read числового ввода в виде строки R
id,No.,V,S,D
1,0100000109,623,233,331
2,0200000109,515,413,314
3,0600000109,611,266,662
мне нужно прочитать No. столбец, как это (то есть., Как характер). Я знаю, что я могу использовать что-то вроде этого для этого:
data <- read.csv("input.csv", colClasses = c("MSISDN" = "character"))
У меня есть код, который я использую для чтения файла CSV в кусках:
chunk_size <- 2
con <- file("input.csv", open = "r")
data_frame <- read.csv(con,nrows = chunk_size,colClasses = c("MSISDN" = "character"),quote="",header = TRUE,)
header <- names(data_frame)
print(header)
print(data_frame)
if(nrow(data_frame) == chunk_size) {
repeat {
data_frame <- read.csv(con,nrows = chunk_size, header = FALSE, quote="")
names(data_frame)<-c(header)
print(header)
print(data_frame)
if(nrow(data_frame) < chunk_size) {
break
}
}
}
close(con)
Но, вот в чем дело я» m - это то, что первый кусок будет читать только колонку № в качестве персонажа, остальные куски не будут.
Как я могу решить эту проблему?
PS: исходный файл ввода содержит около 150 столбцов и около 20 миллионов строк.
Почему вы читаете его в кусках? –
Ваш последний 'read.csv' не использует' colClasses', как два других. –
@Remko в окончательном read.csv я не могу добавить colClasses, потому что я установил header = false в этом выражении. – Raymond