Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alex/csv-sql
Query your CSV files with SQL
https://github.com/alex/csv-sql
Last synced: 15 days ago
JSON representation
Query your CSV files with SQL
- Host: GitHub
- URL: https://github.com/alex/csv-sql
- Owner: alex
- License: bsd-3-clause
- Created: 2016-07-09T02:38:22.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-09-13T17:36:03.000Z (about 2 months ago)
- Last Synced: 2024-09-14T11:44:34.626Z (about 2 months ago)
- Language: Rust
- Size: 1.59 MB
- Stars: 201
- Watchers: 10
- Forks: 19
- Open Issues: 1
-
Metadata Files:
- Readme: README.rst
- License: LICENSE
Awesome Lists containing this project
README
CSV SQL
=======Take a CSV file, query it with SQL. Magic!
.. code-block:: console
$ cargo run file.csv
Loaded 3162 rows into t(domain, base_domain, agency, sslv2)
> SELECT COUNT(*) FROM t
+----------+
| 3162 |
+----------+All your rows go into a table named ``t``. It's great!
You can also specify multiple files:
.. code-block:: console
$ cargo run file1.csv file2.csv
Loaded 12 rows into t1(some, schema)
Loaded 74 rows into t2(some, other, schema)
>If you'd like to export the results of a query to a CSV file:
.. code-block:: console
$ cargo run file.csv
Loaded 3162 rows into t(domain, base_domain, agency, sslv2)
> .export(results.csv) SELECT COUNT(*) from t;If you have tab-, pipe-, or semicolon-delimited files you can specify `--tab`,
`--pipe`, or `--semicolon` respectively).You can change the output style to be "vertical" instead of "table" with:
.. code-block:: console
$ cargo run file.csv
Loaded 3162 rows into t(domain, base_domain, agency, sslv2)
> .style(table)
> -- Or
> .style(vertical)UDFs
----``csv-sql`` contains additional UDFs (User Defined Functions) to enable easier
data analysis. They are:`regexp_extract(pattern, value, replacement)`
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Example: ``regexp_extract("abc-(\d+)", "abc-12345", "lol $1")`` returns ``"lol 12345"``
Binaries
--------Binaries for macOS and Windows are automatically built in CI and can be
downloaded from Github Actions.