Csvkit

Latest version: v2.0.1

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

Scan your dependencies

Page 2 of 5

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.

1.0.4

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

Changes:

- Drop Python 3.3 support (end-of-life was September 29, 2017).

Improvements:

- :doc:`/scripts/csvsql` adds a :code:`--chunk-size` option to set the chunk size when batch inserting into a table.
- csvkit is tested against Python 3.7.

Fixes:

- :code:`--names` works with :code:`--skip-lines`.
- Dates and datetimes without punctuation can be parsed with :code:`--date-format` and :code:`datetime-format`.
- Error messages about column indices use 1-based numbering unless :code:`--zero` is set.
- :doc:`/scripts/csvcut` no longer errors on :code:`--delete-empty-rows` with short rows.
- :doc:`/scripts/csvjoin` no longer errors if given a single file.
- :doc:`/scripts/csvsql` supports UPDATE commands.
- :doc:`/scripts/csvstat` no longer errors on non-finite numbers.
- :doc:`/scripts/csvstat` respects all command-line arguments when :code:`--count` is set.
- :doc:`/scripts/in2csv` CSV-to-CSV conversion respects :code:`--linenumbers` when buffering.
- :doc:`/scripts/in2csv` writes XLS sheets without encoding errors in Python 2.

Page 2 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.