Советы по импорту CSV-файлов
Ниже приведены советы, которые помогут при импорте сложных CSV-файлов. В примерах используется файл flights.csv.
Переопределить флаг заголовка, если заголовок не был распознан корректно
Если файл содержит только строковые столбцы, автоматическое распознавание header может не сработать. Укажите опцию header, чтобы переопределить это поведение.
SELECT * FROM read_csv('flights.csv', header = true); Указать имена, если файл не содержит заголовок
Если файл не содержит заголовка, имена будут сгенерированы автоматически по умолчанию. Вы можете указать свои имена с помощью опции names.
SELECT * FROM read_csv('flights.csv', names = ['DateOfFlight', 'CarrierName']); Переопределить типы определенных столбцов
Флаг types можно использовать для переопределения типов только определенных столбцов, предоставив структуру сопоставлений name → type.
SELECT * FROM read_csv('flights.csv', types = {'FlightDate': 'DATE'}); Использовать COPY при загрузке данных в таблицу
Инструкция COPY копирует данные напрямую в таблицу. Чтец CSV использует схему таблицы вместо автоматического определения типов из файла. Это ускоряет автоматическое определение и предотвращает ошибки, которые могут возникнуть при автоматическом определении.
COPY tbl FROM 'test.csv';
Использовать union_by_name при загрузке файлов с различными схемами
Опция union_by_name может быть использована для унификации схемы файлов, которые имеют разные или отсутствующие столбцы. Для файлов, в которых отсутствуют определенные столбцы, значения NULL будут заполнены.
SELECT * FROM read_csv('flights*.csv', union_by_name = true);
© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/data/csv/tips.html