Csvkit

Latest version: v2.0.0

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

Scan your dependencies

Page 2 of 5

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.

1.0.3

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

Improvements:

- :doc:`/scripts/csvgrep` adds a :code:`--any-match` (:code:`-a`) flag to select rows where any column matches instead of all columns.
- :doc:`/scripts/csvjson` no longer emits a property if its value is null.
- :doc:`/scripts/csvjson` adds :code:`--type` and :code:`--geometry` options to emit non-Point GeoJSON features.
- :doc:`/scripts/csvjson` adds a :code:`--no-bbox` option to disable the calculation of a bounding box.
- :doc:`/scripts/csvjson` supports :code:`--stream` for newline-delimited GeoJSON.
- :doc:`/scripts/csvsql` adds a :code:`--unique-constraint` option to list names of columns to include in a UNIQUE constraint.
- :doc:`/scripts/csvsql` adds :code:`--before-insert` and :code:`--after-insert` options to run commands before and after the INSERT command.
- :doc:`/scripts/csvpy` reports an error message if input is provided via STDIN.
- :doc:`/scripts/in2csv` adds a :code:`--encoding-xls` option to specify the encoding of the input XLS file.
- :doc:`/scripts/in2csv` supports :code:`--no-header-row` on XLS and XLSX files.
- Suppress agate warning about column names not specified when using :code:`--no-header-row`.
- Prompt the user if additional input is expected (i.e. if no input file or piped data is provided).
- Update to `agate-excel 0.2.2 <https://agate-excel.readthedocs.io/en/latest/#changelog>`_, `agate-sql 0.5.3 <https://agate-sql.readthedocs.io/en/latest/#changelog>`_.

Fixes:

- :doc:`/scripts/csvgrep` accepts utf-8 arguments to the :code:`--match` and :code:`--regex` options in Python 2.
- :doc:`/scripts/csvjson` streams input and output only if :code:`--snifflimit` is :code:`0`.
- :doc:`/scripts/csvsql` sets a DECIMAL's precision and scale and a VARCHAR's length to avoid dialect-specific errors.
- :doc:`/scripts/csvstack` no longer opens all files at once.
- :doc:`/scripts/in2csv` respects :code:`--no-header-row` when :code:`--no-inference` is set.
- :doc:`/scripts/in2csv` CSV-to-CSV conversion streams input and output only if :code:`--snifflimit` is :code:`0`.
- :doc:`/scripts/in2csv` supports GeoJSON files with: ``geometry`` set to ``null``, missing Point ``coordinates``, altitude coordinate values.

csvkit is no longer tested on PyPy.

Page 2 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.