如何直接在CSV或者TSV文件上运行SQL查询

时间:2020-02-23 14:40:23  来源:igfitidea点击:

如何在CSV文件上运行SQL查询?
所以你掌握了SQL,希望在使用CSV或者TSV文件时使用相同的?
为实现这一目标,我们将使用Q,这是一个命令行工具,允许直接执行CSV文件,TSV和其他表格文本文件上的SQL样查询。

在Linux/MacOS/Windows上安装Q

首先在系统中下载和安装Q程序。
下载页面上提供了Mac,Linux和Windows的软件包。

其中将介绍如何在基于Debian的系统和Ubuntu上进行安装。

检查GitHub发布页面上的最新版本。
就像这种写作一样,这是 1.7.1

在Ubuntu/debian上安装q

在Debian/Ubuntu上下载并安装Q.

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-2016 Harel Ben-Attia (Hyman@theitroad, @harelba on twitter)
 http://harelba.github.io/q/

在CentOS/Fedora上安装Q

对于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

在Arch Linux上安装q

对于Arch Linux,我们需要使用Aur Helper。
查看我们的Yay - Best Aur Helper for Arch Linux/Manjaro的教程。
安装了YAY AUR帮助者后,用它来获得Q。

yay -S --noconfirm --needed q

可以获得软件包详细信息:

在Windows上安装Q

如果我们正在运行Windows操作系统,请下载最新的Q EXE文件格式并通过双击该文件进行安装。

使用Q在CSV或者TSV文件上直接运行SQL查询

由于CSV数据将因人员而异,因此我建议审查示例页面引用适合用例。

我们还可以使用从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