Awesome CSV
A carefully curated list of CSV-related tools and resources
CSV
remains the most futuristic data format from the distant past.
XML has risen and fallen. JSON is just a flash in the pan. YAML is a
poisoned chalice. CSV will outlast them all.
When the final cockroach breathes her last breath, her dying act will be
to scratch her date of death in a CSV file for posterity.
Contents
Here are some awesome tools for dealing with CSV:
-
NimbleText/Live - Use patterns
to manipulate CSV; the world’s simplest code generator *.
-
PapaParse - A powerful
in-browser CSV parser.
-
d3-dsv - d3.js parser and
formatter module for delimiter-separated values.
-
CSVKit - CSV
utilities that includes csvsql / csvgrep / csvstat and more.
-
XSV - A fast CSV
command-line toolkit written in Rust.
-
sed (gnu tool)
- Stream editor.
-
gawk (gnu tool)
- Text processing and data extraction using
awk.
-
awk by example
- Comprehensive examples of using awk.
-
Miller - Like sed / awk /
cut / join / sort etc for name-indexed data such as CSV.
-
ParaText - CSV parsing
at 2.5 GB per second.
-
CSVGet - Get
structured data from sites as CSV.
-
CSVfix - A tool for
manipulating CSV data.
-
Tad - A fast free cross-platform
CSV viewer.
-
Nvd3-tags
- A tiny library for making charts from csv data.
-
Powershell: Import-CSV
- Powerful in-built facility for dealing with CSV (example).
-
CSV Tools - A collection of
useful CSV utilities.
-
graph-cli -
Flexible command line tool to create graphs from CSV data.
-
CSV to SQL -
Online tool to create insert/update/delete etc from CSV data.
-
C#: kbCSV
- An efficient, easy to use .NET parsing and writing library for CSV.
-
csvprintf - UNIX
command line utility for parsing and formatting output based on CSV
files.
-
Mockaroo - Random data generator
for CSV / JSON / SQL / Excel.
-
Ron’s CSV Editor
- Handles big files, does miraculous things. A timeless editor for a
timeless format.
-
Rainbow CSV plugins
- Collection of text editor plugins for CSV/TSV syntax highlighting.
Available for
Vim,
VS Code, Atom,
Sublime Text
and other editors.
-
Mighty Merge - join/union csv
files.
Repair or Validate CSV
-
Csvlint.go - Command
line tool for validating CSV files against RFC 4180.
-
csvstudio - A smart app to
repair syntax errors in very large CSV files.
-
scrubcsv - Remove
bad records from a CSV file and normalize (requires rust)
-
reconcile-csv
- Find relationships between a set of related CSVs
Generate Table Schema
-
CSV Schema — Analyzes a CSV
file and generates database table schema, all within the browser
- Wanted: More tools in this category.
Treat CSV as SQL
-
TextQL - Execute SQL
against CSV or TSV.
-
Datasette Facets
- Faceted browse and a JSON API for any CSV File or SQLite DB.
-
q - Run SQL Directly on CSV
Files
-
RBQL - Rainbow Query Language, a SQL-like
language with JavaScript or Python backend.
-
PSKit Query —
Powershell module lets you run simple queries over objects, including
imported with csv
Convert to or from CSV
-
CSV to Table -
Convert CSV files to searchable and sortable HTML table.
CSV <-> JSON
-
Agnes - Two
way Csv to Json **.
-
csv2json - online tool to
convert your CSV or TSV formatted data to JSON and
vice versa.
-
csv-to-json -
Easy, privacy-friendly and offline-first online csv to json converter.
Essays
Once you’ve found the perfect data serialization file format, you stop
looking
David Wengier
Data
Conferences
-
csv,conf - A community conference for
data makers everywhere.
Standards
The wonderful thing about standards is that there are so many of them to
choose from.
—(Possibly) Grace Hopper.
-
structured-text-tools
- List of command line tools for manipulating CSV / XML / HTML / JSON /
INI etc.
-
META-META
- This list as CSV.
-
META-META-META - A
NimbleText pattern that produces this markdown page from this list as a
CSV.
Code of Conduct
See Code of Conduct
Funtribute
To experience the fun of contributing, see
Contributing
*
I’m the author of
NimbleText. Of course I put it
first on the list. If I didn’t personally rate it I wouldn’t have spent so
much time making and improving it.
**
I wrote
agnes
but don’t really endorse it for others to use (thus
haven’t migrated the source code to GitHub). It’s slow and non-streaming.
I’d go with papa-parse
. On the plus side,
agnes
has a more comprehensive test suite and simpler api
than most.
***
Mine too.
License
To the extent possible under law,
Leon Bambrick has waived all copyright
and related or neighboring rights to this work.