Spec-Zone.ru › DuckDB

Импорт Excel

Установка расширения

Для чтения данных из файла Excel установите и загрузите расширение пространственные данные. Это необходимо только один раз на подключение DuckDB.

INSTALL spatial;
LOAD spatial;

Импорт листов Excel

Используйте функцию st_read в FROM части запроса:

SELECT * FROM st_read('test_excel.xlsx');

Параметр layer позволяет указать имя листа Excel:

SELECT * FROM st_read('test_excel.xlsx', layer = 'Sheet1');

Создание новой таблицы

Для создания новой таблицы, используя результаты запроса, используйте CREATE TABLE ... AS из SELECT оператора:

CREATE TABLE new_tbl AS
    SELECT * FROM st_read('test_excel.xlsx', layer = 'Sheet1');

Загрузка в существующую таблицу

Для загрузки данных в существующую таблицу из запроса используйте INSERT INTO из SELECT оператора:

INSERT INTO tbl
    SELECT * FROM st_read('test_excel.xlsx', layer = 'Sheet1');

Параметры

Также доступны несколько параметров конфигурации для библиотеки GDAL, которая выполняет парсинг XLSX. Вы можете передать их через параметр open_options функции st_read в виде списка 'KEY=VALUE' строк.

Импорт листа с/без заголовка

Параметр HEADERS имеет три возможных значения:

  • FORCE: считать первую строку заголовком
  • DISABLE считать первую строку за строку данных
  • AUTO попытка автоматического определения (по умолчанию)

Например, для обработки первой строки как заголовка выполните:

SELECT *
FROM st_read(
    'test_excel.xlsx',
    layer = 'Sheet1',
    open_options = ['HEADERS=FORCE']
);

Обнаружение типов

Параметр FIELD_TYPE определяет, как должны обрабатываться типы полей:

  • STRING: все поля должны загружаться как строки (тип VARCHAR)
  • AUTO: типы полей должны определяться автоматически (по умолчанию)

Например, для обработки первой строки как заголовка и использования автоматического определения типов, выполните:

SELECT *
FROM st_read(
    'test_excel.xlsx',
    layer = 'Sheet1',
    open_options = ['HEADERS=FORCE', 'FIELD_TYPES=AUTO']
);

Для обработки полей как строк:

SELECT *
FROM st_read(
    'test_excel.xlsx',
    layer = 'Sheet1',
    open_options = ['FIELD_TYPES=STRING']
);

См. также

DuckDB также может экспортировать файлы Excel. Для получения дополнительной информации об поддержке Excel см. страницу расширения пространственных данных, страницу драйвера GDAL XLSX и страницу параметров конфигурации GDAL.

© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/guides/file_formats/excel_import.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API