【问题标题】:sql command for reading a particular sheet, column用于读取特定工作表、列的 sql 命令
【发布时间】:2010-11-14 22:46:39
【问题描述】:

对于 SQL 支持者来说,这可能是一个非常愚蠢的问题,但我只想要一个 SQL 命令。

详情,

我正在使用一个名为 R 的数据分析工具,该工具使用 ODBC 从 XLS 中读取数据。我现在正在尝试从 XLS 文件中读取数据。 R 中的 ODBC 工具接受 SQL 命令。

问题,

谁能给我一个从 XLS 文件中读取数据的 SQL 命令 - 指定表 - 指定列 [按名称] - 指定行[仅由行索引指定]

谢谢...

【问题讨论】:

    标签: sql excel r sqlcommand import-from-excel


    【解决方案1】:

    一旦你设置了文件的连接,你可以使用下面的语句:

    select [columnname] from [sheetname$] where [columnname] = 'somevalue'
    

    不确定行索引的事情。但是,如果文件中的每一行都有序列号或任何此类唯一值,则可以使用 where 子句。

    【讨论】:

      【解决方案2】:

      这是一个示例查询:

      SELECT [sheet1$.col1], [sheet1$.col2], [sheet2$.col1] 
      FROM   [sheet1$], [sheet2$] 
      WHERE  [sheet1$.col1] = [sheet2$.col2]
      

      这假定一个带有 2 张工作表的 excel 文档(sheet1sheet2)。每个工作表有 2 列,第一行作为标题(每个工作表中的 col1col2)。

      这是完整的代码:

      > library(RODBC)
      > conn <- odbcConnectExcel('c:/tmp/foo.xls')
      > query <- "select [sheet1$.col1], [sheet1$.col2], [sheet2$.col1] 
                  from [sheet1$], [sheet2$] 
                  where [sheet1$.col1] = [sheet2$.col2];"
      > result <- sqlQuery(conn, query)
      > odbcClose(conn)
      > result
        col1 col2 col1.1
      1    1    3      5
      2    2    4      6
      3    3    5      7
      

      我从来没有找到处理行号的方法。我只是创建一个额外的列并按顺序填写。不确定这是否适合您。

      【讨论】:

        【解决方案3】:

        通过下面的查询,您可以从 A 列的第 61 行读取数据,& G 应该读取所​​有列直到 G。

        SELECT * FROM [Sheet1$a61:G]
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-07-26
          • 1970-01-01
          • 2013-05-12
          • 2021-02-09
          相关资源
          最近更新 更多