使用 dbplyr 将 URL 路径插入数据库

Insert URL path into database using dbplyr

我正在尝试使用

将 url 插入到 postgresql 数据库中
db_insert_into(con, "url", "http://www.google.com")

文件错误(fn, open = "r"): 无法打开连接 另外: 警告信息: 在文件(fn, open = "r") 中: 无法打开文件 'http:/www.google.com': 没有那个文件或目录

我该如何解决这个问题?

您需要以某种方式同时指定 table 名称和字段名称。我猜 "url" 是字段名称,而 table 名称在这里尚未定义。不过没关系,坦率地说,采取解决方案并根据需要进行调整。

db_insert_into 的期望是 values(第三个参数)是 data.frame 或可以轻松转换为此类的东西。所以你可以这样做:

newdata <- data.frame(url = "http://www.google.com", stringsAsFactors = FALSE)
db_insert_into(con, "tablename", newdata)

如果你很懒惰或者玩代码高尔夫,你也许可以这样做:

db_insert_into(con, "tablename", list(url = "http://google.com"))

因为 dbplyr 周围的一些底层 S3 或 S4 方法有时会检查 if (!is.data.frame(values)) values <- as.data.frame(values)。 (但我不一定会依赖它,通常最好是明确的。)