Csvkit

Latest version: v2.1.0

Safety actively analyzes 714815 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 5

1.2.0

-----------------------

- fix: :doc:`/scripts/csvjoin` uses the correct columns when performing a :code:`--right` join.
- Add SQLAlchemy 2 support.
- Drop Python 3.7 support (end-of-life was June 5, 2023).

1.1.1

-------------------------

- feat: :doc:`/scripts/csvstack` handles files with columns in different orders or with different names.

1.1.0

-----------------------

- feat: :doc:`/scripts/csvsql` accepts multiple :code:`--query` command-line arguments.
- feat: :doc:`/scripts/csvstat` adds :code:`--no-grouping-separator` and :code:`--decimal-format` options.
- Add Python 3.11 support.
- Drop Python 3.6 support (end-of-life was December 23, 2021).
- Drop Python 2.7 support (end-of-life was January 1, 2020).

1.0.7

---------------------

- fix: :doc:`/scripts/csvcut` extracts the correct columns when :code:`--line-numbers` is set.
- fix: Restore Python 2.7 support in edge cases.
- feat: Use 1024 byte sniff-limit by default across csvkit. Improve csvstat performance up to 10x.
- feat: Add support for ``.xz`` (LZMA) compressed input files.
- Add Python 3.10 support.
- Drop Python 3.5 support (end-of-life was September 30, 2020).

1.0.6

---------------------

Changes:

- :doc:`/scripts/csvstat` no longer prints "Row count: " when :code:`--count` is set.
- :doc:`/scripts/csvclean`, :doc:`/scripts/csvcut`, :doc:`/scripts/csvgrep` no longer error if standard input is null.

Fixes:

- :doc:`/scripts/csvformat` creates default headers when :code:`--no-header-row` is set, as documented.
- :doc:`/scripts/csvstack` no longer errors when :code:`--no-header-row` is combined with :code:`--groups` or :code:`--filenames`.

1.0.5

---------------------

Changes:

- Drop Python 3.4 support (end-of-life was March 18, 2019).

Improvements:

- Output error message for memory error even if not :code:`--verbose`.

Fixes:

- Fix regression in 1.0.4, which caused numbers like ``4.5`` to be parsed as dates.
- :doc:`/scripts/in2csv` Fix error reporting if :code:`--names` used with non-Excel file.

Page 2 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.