所以,我有形式的該輸入CSV,閱讀數字輸入作爲串R
id,No.,V,S,D
1,0100000109,623,233,331
2,0200000109,515,413,314
3,0600000109,611,266,662
我需要讀取號列,因爲它是(即,作爲一個字符)。我知道我可以使用像這樣爲:
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面對的是,第一個塊只會讀取作爲字符的Column列,其餘的塊不會。
我該如何解決這個問題?
PS:原始輸入文件有大約150列和大約2000萬行。
你爲什麼要以塊讀取它? –
你最後的'read.csv'不像其他兩個那樣使用'colClasses'。 –
@Remko在最後的read.csv我不能添加colClasses,因爲我已經在該語句中設置了header = false。 – Raymond