skillfed

csvkit

A suite of command-line tools for working with CSV, the king of tabular file formats.

csvkit v2.2.0 345.1K downloads/30d#7,367 on PyPI6,409
Permissive license MIT Active released

What it is and what it does

csvkit is a suite of command-line utilities designed for working with CSV files and related tabular formats. It provides specialized commands for common CSV operations—filtering rows, selecting columns, joining files, and converting between formats like Excel, DBF, and SQL databases. The package bundles eight runtime dependencies including agate, agate-excel, agate-dbf, agate-sql for format support, and sqlalchemy for database connectivity.

The tool is aimed at developers, data analysts, and researchers who work with tabular data from the command line. It's been in active development since its early releases, supports modern Python versions, and runs on both CPython and PyPy. With low install friction and no known security vulnerabilities, it's a stable choice for CSV manipulation workflows that don't require a full data science stack.

Use it for:

  • Extract specific columns from CSV files without loading into memory-heavy tools.
  • Filter rows based on patterns or conditions to subset data for analysis.
  • Join multiple CSV files on common columns for data consolidation.
  • Convert Excel or database exports to CSV format for pipeline integration.
  • Inspect and validate CSV structure and data types from the command line.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

csvkit provides command-line tools for converting, querying, and transforming CSV files and related tabular formats like Excel and databases.

Yes. csvkit is a mature, actively maintained tool with no security issues, permissive licensing, and low install friction. It's well-suited for developers and analysts who prefer command-line workflows for CSV manipulation. Install it if you work with CSV files regularly and want lightweight, specialized tools instead of heavier data libraries.

Install

csvkit on PyPI

pip

pip install csvkit

uv

uv add csvkit

poetry

poetry add csvkit

Installing csvkit

Before you install

Low install friction with a pure-Python wheel distribution. The package is actively maintained with a recent release and 6409 GitHub stars, indicating stable, well-used tooling.

License in practice

MIT license is permissive, allowing use in commercial and proprietary projects with minimal restrictions beyond attribution.

Quickstart

pip install csvkit

After installation, csvkit provides command-line tools for working with CSV files. The package includes utilities for filtering, selecting columns, joining files, and converting between formats.

Verify before relying

  • Specific command names and their exact functionality beyond the general CSV manipulation scope.
  • Performance characteristics when working with large CSV files or complex transformations.
  • Whether Python API usage is documented alongside command-line interfaces.

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 8 — agate, agate-excel, agate-dbf, agate-sql, openpyxl, sqlalchemy, xlrd, importlib_metadata
Maintenance actively maintained — 242 days since the last release
Last repo commit
First released
Downloads 345,125/month — #7,367 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: csvkit-2.2.0-py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: End Users/DesktopIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Scientific/Engineering :: Information AnalysisTopic :: Software Development :: Libraries :: Python ModulesTopic :: Utilities

Tags

csv command line toolsconvert csv to other formatsquery csv filescsv data transformationtabular data cliexcel to csv conversiondatabase to csv export
cli-toolsdata-wranglingcsv-processing

More Python Modules packages