Вопрос

Вероятно, это очень глупый вопрос для приверженцев SQL, но мне нужна всего одна команда SQL.

Подробные сведения,

Я использую инструмент анализа данных под названием R, этот инструмент использует ODBC для чтения данных из XLS.Сейчас я пытаюсь прочитать данные из XLS-файла.Инструмент ODBC в R принимает команды SQL.

Вопрос,

Может кто-нибудь дать мне команду SQL, которая будет считывать данные из файла XLS - Указанный лист - Указанный столбец [по имени] - Указанная строка [Указывается только по индексу строки]

Спасибо...

Это было полезно?

Решение

После того как вы установили соединение с файлом, вы можете использовать следующую инструкцию:

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

Не уверен насчет индекса строки.Но вы можете использовать предложение where, если каждая строка в файле имеет серийный номер или любое подобное уникальное значение.

Другие советы

С помощью приведенного ниже запроса вы можете прочитать данные из строки 61 cloumn A, & G должен считывать все столбцы до G.

SELECT * FROM [Sheet1$a61:G]

Вот пример запроса:

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

Предполагается, что документ Excel состоит из 2 листов (sheet1 и 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

Я так и не нашел способа справиться с номерами строк.Я просто создаю дополнительный столбец и заполняю его последовательно.Не уверен, что это работает для вас.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top