我的csv文件非常大(2.3 GB)。我只想阅读可能存在或不存在的某些列。
我正在使用以下建议的代码 Only read limited number of columns
library(sqldf)
loc <- read.csv.sql("data.csv",
sql = "select locID, City, CRESTA, Latitude, Longitude from file",
sep = ",")
例如在“ csv”中没有“城市”列时,该如何处理?
答案 0 :(得分:0)
这将找出可用的列,将其名称与所需列的名称相交,然后仅读取这些列。
library(sqldf)
nms_wanted <- c("locID", "City", "CRESTA", "Latitude", "Longitude")
nms_avail <- names(read.csv("data.csv", nrows = 0))
nms <- intersect(nms_avail, nms_wanted)
fn$read.csv.sql("data.csv", "select `toString(nms)` from file")