3

これはおそらくSQLの支持者にとっては非常に愚かな質問ですが、SQLコマンドが1つだけ必要です。

詳細、

Rというデータ分析ツールを使用しています。このツールはODBCを使用してXLSからデータを読み取ります。XLSファイルからデータを読み取ろうとしています。RのODBCツールはSQLコマンドを受け入れます。

質問、

XLSファイルからデータを読み取るSQLコマンドを誰かに教えてもらえますか-指定されたシート-指定された列[名前]-指定された行[行インデックスだけで指定]

ありがとう ...

4

3 に答える 3

5

以下のクエリを使用すると、Cloumn A の 61 行からデータを読み取ることができ、G は G までのすべての列を読み取ることになっています。

SELECT * FROM [Sheet1$a61:G]
于 2010-01-12T05:52:32.950 に答える
3

クエリの例を次に示します。

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

sheet1これは、2枚のシート(および)を持つExcelドキュメントを想定していますsheet2。各シートには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

行番号を処理する方法を見つけたことがありません。追加の列を作成し、順番に入力するだけです。それがあなたのために働くかどうかわからない。

于 2009-07-29T05:26:13.953 に答える
3

Once you have set the connection to the file, you can use following statement:

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

Not sure about the row index thing. But you can make use of where clause if each row in the file has serial number or any such unique value.

于 2009-07-29T05:08:53.507 に答える