【发布时间】:2014-09-07 16:37:51
【问题描述】:
我有很多 data.frames() 我正试图通过 RMySQL() 发送到 MySQL 数据库。
# Sends data frame to database without a problem
dbWriteTable(con3, name="SPY", value=SPY , append=T)
# stock1 contains a character vector of stock names...
stock1 <- c("SPY.A")
但是当我尝试循环它时:
i= 1
while(i <= length(stock1)){
# converts "SPY.A" into SPY
name <- print(paste0(str_sub(stock1, start = 1, end = -3))[i], quote=F)
# sends data.frame to database
dbWriteTable(con3,paste0(str_sub(stock1, start = 1, end = -3))[i], value=name, append=T)
i <- 1+i
}
返回以下警告并且没有向数据库发送任何内容
In addition: Warning message:
In file(fn, open = "r") :
cannot open file './SPY': No such file or directory
但是,我认为问题在于将 value 粘贴到 dbWriteTable() 上,因为编写 dbWriteTable(con3, "SPY", SPY, append=T) 有效,但 dbWriteTable(con3, "SPY", name, append=T) 不会...
【问题讨论】:
-
我无法在我的系统上重新创建这样的示例,但我遇到了类似的情况,并且在参数中使用了 'eval(name)' 而不仅仅是 'name' 并且它有效。也许这有帮助?
-
谢谢,@nfmcclure 但
eval(name)对此不起作用