Как я могу выполнить SQL-запросы к файлам CSV?
Таким образом, вы хорошо владеете SQL и хотели бы использовать то же самое при работе с файлами CSV или TSV ?
Чтобы достичь этого, мы будем использовать q, который является инструментом командной строки, который позволяет напрямую выполнять SQL-подобные запросы к файлам CSV, TSV и другим табличным текстовым файлам.
Установка q в Linux / macOS / Windows
Первым делом бизнеса является загрузка и установка программы q в вашей системе.
Пакеты для Mac, Linux и Windows доступны на странице загрузок.
Здесь я покажу вам, как выполнить установку в системах на основе Debian и Ubuntu.
Проверьте наличие последней версии q на странице релизов Github.
На момент написания статьи это 1.7.1.
export VER="1.7.1" wget https://github.com/harelba/q/releases/download/${VER}/q-text-as-data_${VER}-2_all.deb
Затем установите загруженный пакет.
sudo apt-get -y install python sudo dpkg -i q-text-as-data_${VER}-2_all.deb
Установленная версия может быть подтверждена с помощью команды:
$ q --version q version 1.7.1 Copyright (C) 2012-2017 Harel Ben-Attia (harelba@gmail.com, @harelba on twitter) http://harelba.github.io/q/
Установка q на CentOS / Fedora
Для системы CentOS загрузите и установите пакет .rpm.
export VER="1.7.1" wget https://github.com/harelba/q/releases/download/${VER}/q-text-as-data-${VER}-1.noarch.rpm
Установите загруженный файл с помощью команды rpm.
sudo rpm -ivh q-text-as-data-${VER}-1.noarch.rpm
Установите q в Arch Linux
Для Arch Linux вам нужно использовать помощник AUR.
Посмотрите наше руководство Yay — Еще один надежный помощник AUR, написанный на GO
Как только у вас будет установлен помощник yay AUR, используйте его, чтобы получить q.
yay -S --noconfirm --needed q
Детали пакета можно получить с помощью:
Установка q в Windows
Если вы работаете в операционной системе Windows, загрузите последний формат файла q exe и установите его, дважды щелкнув файл.
Использование q для запуска запросов SQL непосредственно в файле CSV или TSV
Поскольку данные CSV могут отличаться, я рекомендую вам проверить страницу с примерами q, чтобы узнать, что соответствует вашему варианту использования.
Вы также можете работать с данными, полученными из командной строки Linux.
$ cd /tmp $ ls -l > tmpdata $ q "SELECT COUNT(*) FROM tmpdata" 28 $ q "SELECT c3,COUNT(1) FROM tmpdata GROUP BY c3" 1 jmutai 27
Проверьте страницу примеров.