【问题标题】:Bringing sql-server query results into a dataFrame in R将 sql-server 查询结果带入 R 中的数据帧
【发布时间】:2015-08-14 04:39:30
【问题描述】:

假设我有一个工作连接,并且我能够毫无问题地将整个表从 SQL-server 拉入 R。我的问题是,在将 sql 中的日期和时间列合并到 R 中的一个日期时间列加上另外两列之后,我试图将查询结果引入 R
我有 dDate、tTime、价格、数量。在我的数据库中。 我想将数据引入三个 R 字段中的 R 数据帧,其中一个 timeDate 字段用于时间戳,然后是价格和数量。

我试过这段代码,但没有用,conn 是我打开的连接:

 sqlFetch(conn,"SELECT Convert(datetime,dDate + ' ' + tTime,20) as tranTime, Price, Qty From myTable order by dDate, tTime")

任何帮助将不胜感激。

【问题讨论】:

  • 尝试使用sqlQuery 而不是sqlFetch
  • 没用是什么意思?
  • 错误是“在频道上找不到表”
  • 我尝试使用 sqlQuery 而不是 sqlFetch 什么都没有发生没有错误也没有结果查询只是被删除而没有结果。
  • 我不认为 RODBC 可以处理临时表顺便说一句。尽量简化你的代码。

标签: sql-server r datetime timestamp


【解决方案1】:

通过将 FOR XML AUTO 添加到您的 sql 请求的末尾,以 XML 格式从 SQL 中提取数据:

 SELECT Convert(datetime,dDate + ' ' + tTime,20) as tranTime, Price, Qty
 From myTable order by dDate, tTime
 FOR XML AUTO

结果会是这样的

<myTable Trantime="10" Price="17"  Qty="34" />

为 R 使用 XML 包(将提供提取数据的所有选项)

library(XML)
file <- xmlParse(XMLDATA )

【讨论】:

  • 这可能是一个循环的方法,谢谢分享
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-08
  • 2015-03-15
  • 1970-01-01
  • 2021-03-02
相关资源
最近更新 更多