How can I run SQL queries on CSV files?. So you have a good mastery of SQL and would like to use the same when working with CSV or TSV files?. To achieve this, we will use q which is a command line tool that allows for direct execution of SQL-like queries on CSVs files, TSVs, and other tabular text files.

Installing q on Linux / macOS / Windows

The first action of the business is to download and install q program in your system. The packages for Mac, Linux, and Windows are available on the Downloads page. Here I’ll show you how to do the installation on Debian based systems and Ubuntu.

Check for the latest release of q on Github releases page. As of this writing, this is 1.7.1.

Install q on Ubuntu / Debian

Download and install q on Debian / Ubuntu

export VER="1.7.1"

Then install the downloaded package.

sudo apt-get -y install python
sudo dpkg -i q-text-as-data_${VER}-2_all.deb

The version installed can be confirmed using the command:

$ q --version
q version 1.7.1
Copyright (C) 2012-2017 Harel Ben-Attia ([email protected], @harelba on twitter)

Install q on CentOS / Fedora

For CentOS system, download and install the .rpm package.

export VER="1.7.1"

Install downloaded file with rpm command.

sudo rpm -ivh q-text-as-data-${VER}-1.noarch.rpm

Install q on Arch Linux

For Arch Linux, you need to use AUR helper. Check our guide on yay – Best AUR Helper for Arch Linux / Manjaro. Once you have yay AUR helper installed, use it to get q.

yay -S --noconfirm --needed q

Package details can be obtained with:

run sql queries on csv files

Install q on Windows

If you’re running a Windows operating system, download the latest q exe file format and install it by double clicking the file.

Using q to run SQL queries directly on CSV or TSV file

Since CSV data will vary from person to person, I recommend you check q examples page to reference what fits your use case.

You can also work with data obtained from Linux command line.

$ cd /tmp
$ ls -l > tmpdata
$ q "SELECT COUNT(*) FROM tmpdata"
$ q "SELECT c3,COUNT(1) FROM tmpdata GROUP BY c3"
jmutai 27

Check for on examples page. Also check:

How to Convert ePub file to PDF Format on Linux CLI

Your support is our everlasting motivation,
that cup of coffee is what keeps us going!

As we continue to grow, we would wish to reach and impact more people who visit and take advantage of the guides we have on our blog. This is a big task for us and we are so far extremely grateful for the kind people who have shown amazing support for our work over the time we have been online.

Thank You for your support as we work to give you the best of guides and articles. Click below to buy us a coffee.


Please enter your comment!
Please enter your name here