对于SQL stalwarts来说,这可能是一个非常愚蠢的问题,但我只想要一个SQL命令。
详细信息,
我使用的是名为R的数据分析工具,此工具使用ODBC从XLS读取数据。我现在正在尝试从XLS文件中读取数据。 R中的ODBC工具接受SQL命令。
问题,
有人可以给我一个SQL命令来读取XLS文件中的数据 - 指定表格 - 指定列[按名称] - 指定行[仅由行索引指定]
谢谢...
答案 0 :(得分:5)
通过下面的查询,您可以读取A列第61行的数据,& G应该读取所有列直到G。
SELECT * FROM [Sheet1$a61:G]
答案 1 :(得分:3)
设置与文件的连接后,可以使用以下语句:
select [columnname] from [sheetname$] where [columnname] = 'somevalue'
不确定行索引的事情。但是,如果文件中的每一行都有序列号或任何此类唯一值,则可以使用where子句。
答案 2 :(得分:3)
以下是一个示例查询:
SELECT [sheet1$.col1], [sheet1$.col2], [sheet2$.col1]
FROM [sheet1$], [sheet2$]
WHERE [sheet1$.col1] = [sheet2$.col2]
这假设包含2张(sheet1
和sheet2
)的Excel文档。每个工作表都有2列,第一行作为标题(每个工作表中col1
和col2
)。
这是完整的代码:
> 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
我从未找到处理行号的方法。我只是创建一个额外的列并按顺序填充。不确定这是否适合你。