Skip to content

Latest commit

 

History

History
163 lines (111 loc) · 10.5 KB

README.md

File metadata and controls

163 lines (111 loc) · 10.5 KB

Awesome CSV Awesome

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:

Tools

  • 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 Data Edit (new modern version of 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.
  • ExtendsClass - A simple CSV comparator.
  • Mighty Merge - join/union csv files.
  • Modern CSV - A tool for editing CSV files and viewing large 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.

META: Other similar lists

  • 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

Footnotes

* 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

CC0

To the extent possible under law, Leon Bambrick has waived all copyright and related or neighboring rights to this work.