sql-команда для чтения определенного листа, столбца
-
20-09-2019 - |
Вопрос
Вероятно, это очень глупый вопрос для приверженцев 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
Я так и не нашел способа справиться с номерами строк.Я просто создаю дополнительный столбец и заполняю его последовательно.Не уверен, что это работает для вас.