csvkit is a library of utilities for working with CSV

Edit Package python-csvkit

csvkit is a library of utilities for working with CSV, the king of tabular file formats.

It is inspired by pdftk, gdal and the original csvcut utility by Joe Germuska and Aaron Bycoffe.

Refresh
Refresh
Source Files
Filename Size Changed
csvkit-1.1.1.tar.gz 0003792699 3.62 MB
python-csvkit.changes 0000019449 19 KB
python-csvkit.spec 0000003673 3.59 KB
testdbf_converted.csv 0000000896 896 Bytes
Revision 17 (latest revision is 21)
Dominique Leuenberger's avatar Dominique Leuenberger (dimstar_suse) accepted request 1079997 from Matej Cepl's avatar Matej Cepl (mcepl) (revision 17)
- python-six is not required
- Add missing Requires.
- update to 1.1.1:
  * feat: :doc:`/scripts/csvstack` handles files with columns in
    different orders or with different names.
- update to 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).
- Fix u-a scriptlets
- Update to v1.0.7
  * fix: :doc:`/scripts/csvcut` extracts the correct columns when
    --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).
- v1.0.6
  * :doc:`/scripts/csvstat` no longer prints "Row count: " when --count is set.
  * :doc:`/scripts/csvclean`, :doc:`/scripts/csvcut`, :doc:`/scripts/csvgrep`
    no longer error if standard input is null.
  * :doc:`/scripts/csvformat` creates default headers when --no-header-row is
    set, as documented.
  * :doc:`/scripts/csvstack` no longer errors when --no-header-row is combined
    with --groups or --filenames.
- Add testdbf_converted.csv to fix a test failure since
  agate-dbf 0.2.2 -- gh#wireservice/csvkit#1073
- Make rpmlint happy by expanding the u-a install scripts early.
  (Keep all the cli commands as their own u-a master links.)
- %python3_only -> %python_alternative
- Drop py2 deps as it works only on py3 atm
- update to v1.0.5
  * dropped py 3.4 support
  * fix tests
  * minor fixes
- switch from nose to unittest
- Drop python2 support due to dependencies dropping python2 support
- boo#1133137: Fix FTBFS python-csvkit (failing tests gh#wireservice/csvkit#1027)
- Update to 1.0.4:
  * Dropped Python 3.3 support (end-of-life was September 29, 2017).
  * :doc:`/scripts/csvsql` adds a --chunk-size option to set the chunk size when batch inserting into a table.
  * csvkit is now tested against Python 3.7.
  * Dates and datetimes without punctuation can be parsed with --date-format and datetime-format.
  * Error messages about column indices use 1-based numbering unless --zero is set.
- Remove merged patch remove-unittest2.patch
- Remove devel dependency and do not use symlinks on fdupes call
- We already use six, so it is better to use monkey-patching already
  prepared there. remove-unittest2.patch updated.
  Upstream pull request https://github.com/wireservice/csvkit/pull/979
- Remove unnecessary unittest2 dependency
  (Patch remove-unittest2.patch makes necessary changes)
- Remove bias from descriptions.
- Remove unneded dependencies
- Update to 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 <http://agate-excel.readthedocs.io/en/0.2.2/#changelog>`_, `agate-sql 0.5.3 <http://agate-sql.readthedocs.io/en/0.5.3/#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.
- Update to 1.0.2
  + Improvements:
    * Add a :code:`--version` flag.
    * Add a :code:`--skip-lines` option to skip initial lines (e.g. comments, copyright notices, empty rows).
    * Add a :code:`--locale` option to set the locale of any formatted numbers.
    * Add a :code:`--date-format` option to set a strptime date format string.
    * Add a :code:`--datetime-format` option to set a strptime datetime format string.
    * Make :code:`--blanks` a common argument across all tools.
    * :code:`-I` is the short option for :code:`--no-inference`.
    * :doc:`/scripts/csvclean`, :doc:`/scripts/csvformat`, :doc:`/scripts/csvjson`, :doc:`/scripts/csvpy` support :code:`--no-header-row`.
    * :doc:`/scripts/csvclean` is faster and no longer requires exponential time in the worst case.
    * :doc:`/scripts/csvformat` supports :code:`--linenumbers` and `--zero` (no-op).
    * :doc:`/scripts/csvjoin` supports :code:`--snifflimit` and :code:`--no-inference`.
    * :doc:`/scripts/csvpy` supports :code:`--linenumbers` (no-op) and :code:`--zero` (no-op).
    * :doc:`/scripts/csvsql` adds a :code:`--prefix` option to add expressions like OR IGNORE or OR REPLACE following the INSERT keyword.
    * :doc:`/scripts/csvsql` adds a :code:`--overwrite` flag to drop any existing table with the same name before creating.
    * :doc:`/scripts/csvsql` accepts a file name for the :code:`--query` option.
    * :doc:`/scripts/csvsql` supports :code:`--linenumbers` (no-op).
    * :doc:`/scripts/csvsql` adds a :code:`--create-if-not-exists` flag to not abort if the table already exists.
    * :doc:`/scripts/csvstat` adds a :code:`--freq-count` option to set the maximum number of frequent values to display.
    * :doc:`/scripts/csvstat` supports :code:`--linenumbers` (no-op).
    * :doc:`/scripts/in2csv` adds a :code:`--names` flag to print Excel sheet names.
    * :doc:`/scripts/in2csv` adds a :code:`--write-sheets` option to write the named Excel sheets to files.
    * :doc:`/scripts/sql2csv` adds an :code:`--encoding` option to specify the encoding of the input query file.
  + Fixes:
    * :doc:`/scripts/csvgrep` no longer ignores common arguments if :code:`--linenumbers` is set.
    * :doc:`/scripts/csvjson` supports Decimal.
    * :doc:`/scripts/csvpy` again supports IPython.
    * :doc:`/scripts/csvsql` restores support for :code:`--no-constraints` and :code:`--db-schema`.
    * :doc:`/scripts/csvstat` will no longer crash when :code:`--freq` is set.
    * :doc:`/scripts/in2csv` restores support for :code:`--no-inference` for Excel files.
    * :doc:`/scripts/in2csv` restores support for converting Excel files from standard input.
    * :doc:`/scripts/in2csv` accepts utf-8 arguments to the :code:`--sheet` option in Python 2.
- Update to 1.0.1
    * :doc:`/scripts/csvstat` will no longer crash when a :code:`Number` column has :code:`None` as a frequent value. (#738)
    * :doc:`/scripts/csvlook` docs now note that output tables are Markdown-compatible. (#734)
    * :doc:`/scripts/csvstat` now supports a :code:`--csv` flag for tabular output. (#584)
    * :doc:`/scripts/csvstat` output is now easier to read. (#714)
    * :doc:`/scripts/csvpy` now has a better description when using the :code:`--agate` flag. (#729)
    * Fix a Python 2.6 bug preventing :doc:`/scripts/csvjson` from parsing utf-8 files. (#732)
    * Update required version of unittest to latest. (#727)
- Update to 1.0.0
  + Backwards-incompatible changes:
    * :doc:`/scripts/csvjoin` now renames duplicate columns with integer suffixes to prevent collisions in output.
    * :doc:`/scripts/csvsql` now generates ``DateTime`` columns instead of ``Time`` columns.
    * :doc:`/scripts/csvsql` now generates ``Decimal`` columns instead of ``Integer``, ``BigInteger``, and ``Float`` columns.
    * :doc:`/scripts/csvsql` no longer generates max-length constraints for text columns.
    * The ``--doublequote`` long flag is gone, and the ``-b`` short flag is now an alias for ``--no-doublequote``.
    * When using the ``--columns`` or ``--not-columns`` options, you must not have spaces around the comma-separated values, unless the column names contain spaces.
    * When sorting, null values are now greater than other values instead of less than.
    * ``CSVKitReader``, ``CSVKitWriter``, ``CSVKitDictReader``, and ``CSVKitDictWriter`` have been removed. Use ``agate.csv.reader``, ``agate.csv.writer``, ``agate.csv.DictReader`` and ``agate.csv.DictWriter``.
    * Dropped support for older versions of PyPy.
    * Dropped Python 2.6 support.
    * If ``--no-header-row`` is set, the output will have column names ``a``, ``b``, ``c``, etc. instead of ``column1``, ``column2``, ``column3``, etc.
    * csvlook renders a simpler, markdown-compatible table.
  + Improvements:
    * csvkit is now tested against Python 3.6. (#702)
    * ``import csvkit as csv`` will now defer to agate readers/writers.
    * :doc:`/scripts/csvgrep` supports ``--no-header-row``.
    * :doc:`/scripts/csvjoin` supports ``--no-header-row``.
    * :doc:`/scripts/csvjson` streams input and output if the ``--stream`` and ``--no-inference`` flags are set.
    * :doc:`/scripts/csvjson` supports ``--snifflimit`` and ``--no-inference``.
    * :doc:`/scripts/csvlook` adds ``--max-rows``, ``--max-columns`` and ``--max-column-width`` options.
    * :doc:`/scripts/csvlook` supports ``--snifflimit`` and ``--no-inference``.
    * :doc:`/scripts/csvpy` supports ``--agate`` to read a CSV file into an agate table.
    * ``csvsql`` supports custom `SQLAlchemy dialects <http://docs.sqlalchemy.org/en/latest/dialects/>`_.
    * :doc:`/scripts/csvstat` supports ``--names``.
    * :doc:`/scripts/in2csv` CSV-to-CSV conversion streams input and output if the ``--no-inference`` flag is set.
    * :doc:`/scripts/in2csv` CSV-to-CSV conversion uses ``agate.Table``.
    * :doc:`/scripts/in2csv` GeoJSON conversion adds columns for geometry type, longitude and latitude.
    * Documentation: Update tool usage, remove shell prompts, document connection string, correct typos.
  + Fixes:
    * Fixed numerous instances of open files not being closed before utilities exit.
    * Change ``-b``, ``--doublequote`` to ``--no-doublequote``, as doublequote is True by default.
    * :doc:`/scripts/in2csv` DBF conversion works with Python 3.
    * :doc:`/scripts/in2csv` correctly guesses format when file has an uppercase extension.
    * :doc:`/scripts/in2csv` correctly interprets ``--no-inference``.
    * :doc:`/scripts/in2csv` again supports nested JSON objects (fixes regression).
    * :doc:`/scripts/in2csv` with ``--format geojson`` will print a JSON object instead of ``OrderedDict([(...)])``.
    * :doc:`/scripts/csvclean` with standard input works on Windows.
    * :doc:`/scripts/csvgrep` returns the input file's line numbers if the ``--linenumbers`` flag is set.
    * :doc:`/scripts/csvgrep` can match multiline values.
    * :doc:`/scripts/csvgrep` correctly operates on ragged rows.
    * :doc:`/scripts/csvsql` correctly escapes ``%``` characters in SQL queries.
    * :doc:`/scripts/csvsql` adds standard input only if explicitly requested.
    * :doc:`/scripts/csvstack` supports stacking a single file.
    * :doc:`/scripts/csvstat` always reports frequencies.
    * The ``any_match`` argument of ``FilteringCSVReader`` now works correctly.
    * All tools handle empty files without error.
- Packaging : move to python singlespec
  + application are only py3 (no more alternatives)
  + fix copyright year
  + disable require on sphinx we don't have doc in pypi tar
  + use files.pythonhosted.org
  + remove shebang
  + adjust too strict version with sed in setup.py
- This update prepare the changes in version >1 with agathe
- Require python-python-dateutil. package was renamed
- Update to version 0.9.1:
  + Typo correction.
  + updated Kansas example data URL
  + Fix csvsort -c help text. Closes #373.
  + Add Dave Stanton to AUTHORS.
  + Fix typo. Closes #378.
  + Fix openpyxl version to work around bug. Closes #391.
        Rev down to 0.9.1 for imminent release.
  + Rev to 0.9.2 for dev.
  + in2csv: Support uppercase file extensions when guessing format.
- Packaging:
  + spec-cleaner
  + packaging with update-alternatives support for python3
    package
  + Added python-dbf and python-et_xmlfile as dependences
  + Add BuildRoot for fixing SLE_11 builds
- update to version 0.9.0:
  * Write missing sections of the tutorial. (#32)
  * Remove -q arg from sql2csv (conflicts with common flag).
  * Fix csvjoin in case where left dataset rows without all columns.
  * Rewrote tutorial based on LESO data. (#324)
  * Don't error in csvjson if lat/lon columns are null. (#326)
  * Maintain field order in output of csvjson.
  * Add unit test for json in2csv. (#77)
  * Maintain key order when converting JSON into CSV. (#325.)
  * Upgrade python-dateutil to version 2.2 (#304)
  * Fix sorting of columns with null values. (#302)
  * Added release documentation.
  * Fill out short rows with null values. (#313)
  * Fix unicode output for csvlook and csvstat. (#315)
  * Add documentation for --zero. (#323)
  * Fix Integrity error when inserting zero rows in database with
    csvsql. (#299)
  * Add --count option to CSVStat.
  * Implement csvformat.
  * Fix bug causing CSVKitDictWriter to output 'utf-8' for blank
    fields.
- additional changes from 0.8.0:
  * Fix column specification in csvstat. (#236)
  * Added "Tips and Tricks" documentation. (#297, #298)
  * Remove unnecessary enumerate calls. (#292)
  * Deprecated DBF support for Python 3+.
  * Add support for Python 3.3 and 3.4 (#239)
- additional changes from 0.7.3
  * Fix date handling with openpyxl > 2.0 (#285)
  * Support SQL queries "directly" on CSV files. (#276)
  * Fix off-by-one error in open ended column ranges. (#238)
  * Add line numbers flag to csvlook (#244)
  * Only install argparse for Python < 2.7. (#224)
  * Fix DBF dependency. (#270)
- additional changes from 0.7.2
  * Fix CHANGELOG for release.
- additional changes from 0.7.1
  * Fix homepage url in setup.py.
- additional changes from 0.7.0
  * Fix XLSX datetime normalization bug. (#223)
  * Merged sql2csv utility (#259).
  * Validate csvsql DB connections before parsing CSVs. (#257)
  * Clarify install process for Ubuntu. (#249)
  * Clarify docs for --escapechar. (#242)
  * Make ``import csvkit`` API compatible with ``import csv``.
  * Update Travis CI link. (#258)
  * Use case-sensitive name for SQLAlchemy (#237)
- update URL
- add python-six as dependency
- rework the removal of shebangs to make it more generic
- add sql2csv to the package file
- Update to version 0.6.1
  + No changelog available
- Update to version 0.5.0
- Update to version 0.3.0
- Update to version 0.2.5:
  * Use proper tarball
- Regenerated with py2pack:
  * Proper version checks around fdupes
  * Simpler Buildrequires
  * Fixed several rpmlint issues (non-excutable scripts, summary)
- initial package version 0.2.4 git 3f0d6c2
Comments 0
openSUSE Build Service is sponsored by