DT Data Tools

SQL для CSV — запросы SQL к файлам CSV, JSON и Parquet

Выполняйте SQL-запросы к файлам CSV, TSV, JSON и Parquet прямо в браузере с помощью DuckDB-wasm. Объединяйте файлы, агрегируйте, фильтруйте и экспортируйте результаты в CSV.

🔒 Работает полностью в вашем браузере — ничего не загружается

Drop CSV, TSV, JSON or Parquet files here or click to browse

Add several files to join them. Each file becomes a SQL view named after the file.

Ctrl/Cmd + Enter runs the query

Load a file or run the demo query. The DuckDB SQL engine (about 35 MB) downloads from this site on first use, then runs offline in your browser.

Advertisement

Запросы к таблицам и файлам данных на настоящем SQL

Формулы электронных таблиц отлично подходят для небольших правок, но становятся неудобными, когда нужно отфильтровать тысячи строк, сгруппировать данные по нескольким столбцам или объединить две выгрузки с общим идентификатором. SQL для CSV позволяет работать с обычными файлами данных как с таблицами базы данных. Перетащите файл CSV, TSV, JSON или Parquet — и он сразу станет SQL-представлением (view) с именем файла, поэтому к sales_2024.csv можно обратиться запросом SELECT * FROM sales_2024. Добавьте другие файлы, и вы сможете соединять их через join, объединять через union или сравнивать, ничего не импортируя на сервер базы данных.

Движком инструмента служит DuckDB — аналитическая база данных, созданная для быстрых запросов к столбцовым данным. Её диалект SQL близок к PostgreSQL и поддерживает соединения, GROUP BY, оконные функции, обобщённые табличные выражения (CTE), SUMMARIZE для мгновенной статистики по столбцам, а также обширную библиотеку строковых, датовых и математических функций. Имена и типы столбцов определяются автоматически, а панель схемы показывает, что именно DuckDB определил для каждого файла.

Конфиденциальность по умолчанию: всё работает в вашем браузере

Многие онлайн-песочницы для SQL сначала просят загрузить ваши данные. Эта страница — нет. DuckDB скомпилирован в WebAssembly и работает в вашем браузере, поэтому добавленные файлы считываются в память браузера и обрабатываются локально. На сервер ничего не отправляется, благодаря чему инструмент подходит для выгрузок клиентских данных, финансовых отчётов, журналов и другой информации, которую не стоит передавать третьим лицам. При первом посещении движок (около 35 МБ) загружается с CDN; после этого браузер может сохранить его в кеше.

Советы для более быстрых и точных запросов

Начните с кнопок-примеров: Preview rows показывает выборку строк, Column stats запускает SUMMARIZE и выводит минимумы, максимумы, долю пустых значений (null) и количество уникальных значений, а шаблон join даёт отправную точку для объединения двух файлов. Заключайте в двойные кавычки имена столбцов, содержащие пробелы или заглавные буквы, например "Order Date". Если столбец CSV определён с неверным типом, преобразуйте его явно с помощью CAST(col AS DOUBLE) или TRY_CAST. Таблица результатов показывает до 1000 строк, тогда как Export result as CSV сохраняет все строки, которые вернул запрос. Поскольку файлы хранятся в памяти, работа с очень большими наборами данных зависит от объёма RAM, доступного браузеру; файлы Parquet обычно являются самым компактным вариантом.

Как использовать

  1. Добавьте файлыПеретащите один или несколько файлов CSV, TSV, JSON или Parquet. Каждый из них становится SQL-представлением с именем файла.
  2. Проверьте схемуПросмотрите определённые имена столбцов, типы и количество строк для каждого загруженного файла.
  3. Напишите и выполните SQLВыберите пример запроса или напишите свой, затем нажмите Run query или Ctrl/Cmd + Enter.
  4. Экспортируйте результатСкачайте полный результат запроса в виде файла CSV.

Часто задаваемые вопросы

Загружаются ли мои файлы на сервер?
Нет. Файлы считываются в память вашего браузера, а запросы к ним выполняет DuckDB, скомпилированный в WebAssembly. Сам движок загружается с CDN, и ваши данные никогда не покидают ваше устройство.
Какие форматы файлов можно обрабатывать?
CSV, TSV и текстовые таблицы, массивы JSON или JSON с разделением по строкам (NDJSON/JSON Lines), а также Apache Parquet. Имена и типы столбцов определяются автоматически.
Какой диалект SQL поддерживается?
SQL DuckDB, близкий к PostgreSQL. Можно использовать соединения, GROUP BY, оконные функции, CTE, SUMMARIZE, строковые и датовые функции и многое другое.
Сколько строк я могу увидеть?
Таблица результатов показывает первые 1000 строк, чтобы страница оставалась отзывчивой. Экспорт в CSV содержит все строки, которые вернул запрос.
Насколько большими могут быть мои файлы?
Файлы полностью загружаются в память браузера, поэтому практические ограничения зависят от вашего устройства. Файлы размером от нескольких десятков до нескольких сотен мегабайт обычно хорошо работают в браузере на компьютере.
Advertisement