使用 sqldf 中的 read.csv.sql 读取某些列(如果存在)
Read certain columns if exist using read.csv.sql from sqldf
我有非常大的 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 = ",")
我该如何处理这种情况,例如列 "City" 不在 csv 中?
这会找出哪些列可用,将它们的名称与所需列的名称相交,然后只读取这些列。
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")
我有非常大的 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 = ",")
我该如何处理这种情况,例如列 "City" 不在 csv 中?
这会找出哪些列可用,将它们的名称与所需列的名称相交,然后只读取这些列。
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")