Skip to main content

A Python package for handling messy CSV files

Project description


Travis Build Status PyPI version Documentation Status Downloads Binder

CleverCSV provides a drop-in replacement for the Python csv package with improved dialect detection for messy CSV files. It also provides a handy command line tool that can standardize a messy file or generate Python code to import it.

Useful links:

Introduction

  • CSV files are awesome! They are lightweight, easy to share, human-readable, version-controllable, and supported by many systems and tools!
  • CSV files are terrible! They can have many different formats, multiple tables, headers or no headers, escape characters, and there's no support for recording metadata!

CleverCSV is a Python package that aims to solve some of the pain points of CSV files, while maintaining many of the good things. The package automatically detects (with high accuracy) the format (dialect) of CSV files, thus making it easier to simply point to a CSV file and load it, without the need for human inspection. In the future, we hope to solve some of the other issues of CSV files too.

CleverCSV is based on science. We investigated thousands of real-world CSV files to find a robust way to automatically detect the dialect of a file. This may seem like an easy problem, but to a computer a CSV file is simply a long string, and every dialect will give you some table. In CleverCSV we use a technique based on the patterns of row lengths of the parsed file and the data type of the resulting cells. With our method we achieve a 97% accuracy for dialect detection, with a 21% improvement on non-standard (messy) CSV files compared to the Python standard library.

We think this kind of work can be very valuable for working data scientists and programmers and we hope that you find CleverCSV useful (if there's a problem, please open an issue!) Since the academic world counts citations, please cite CleverCSV if you use the package. Here's a BibTeX entry you can use:

@article{van2019wrangling,
        title = {Wrangling Messy {CSV} Files by Detecting Row and Type Patterns},
        author = {{van den Burg}, G. J. J. and Naz{\'a}bal, A. and Sutton, C.},
        journal = {Data Mining and Knowledge Discovery},
        year = {2019},
        volume = {33},
        number = {6},
        pages = {1799--1820},
        issn = {1573-756X},
        doi = {10.1007/s10618-019-00646-y},
}

And of course, if you like the package please spread the word! You can do this by Tweeting about it (#CleverCSV) or clicking the ⭐️ on GitHub!

Installation

CleverCSV is available on PyPI. You can install either the full version, which includes the command line interface and all optional dependencies, using

$ pip install clevercsv[full]

or you can install a lighter, core version of CleverCSV with

$ pip install clevercsv

Usage

CleverCSV consists of a Python library and a command line tool called clevercsv.

Library

We designed CleverCSV to provide a drop-in replacement for the built-in CSV module, with some useful functionality added to it. Therefore, if you simply want to replace the builtin CSV module with CleverCSV, you can import CleverCSV as follows, and use it as you would use the builtin csv module.

import clevercsv

CleverCSV provides an improved version of the dialect sniffer in the CSV module, but it also adds some useful wrapper functions. These functions automatically detect the dialect and aim to make working with CSV files easier. We currently have the following helper functions:

  • detect_dialect: takes a path to a CSV file and returns the detected dialect
  • read_csv: automatically detects the dialect and encoding of the file, and returns the data as a list of rows. A version that returns a generator is also available: stream_csv
  • csv2df: detects the dialect and encoding of the file and then uses Pandas to read the CSV into a DataFrame. Note that this function requires Pandas to be installed.
  • write_table: write a table (a list of lists) to a file using the RFC-4180 dialect.

Of course, you can also use the traditional way of loading a CSV file, as in the Python CSV module:

import clevercsv

with open("data.csv", "r", newline="") as fp:
  # you can use verbose=True to see what CleverCSV does:
  dialect = clevercsv.Sniffer().sniff(fid.read(), verbose=False)
  fp.seek(0)
  reader = clevercsv.reader(fp, dialect)
  rows = list(reader)

That's the basics! If you want more details, you can look at the code of the package, the test suite, or the API documentation. If you run into any issues or have comments or suggestions, please open an issue on GitHub.

Command-Line Tool

To use the command line tool, make sure that you install the full version of CleverCSV (see above).

The clevercsv command line application has a number of handy features to make working with CSV files easier. For instance, it can be used to view a CSV file on the command line while automatically detecting the dialect. It can also generate Python code for importing data from a file with the correct dialect. The full help text is as follows:

USAGE
  clevercsv [-h] [-v] [-V] <command> [<arg1>] ... [<argN>]

ARGUMENTS
  <command>       The command to execute
  <arg>           The arguments of the command

GLOBAL OPTIONS
  -h (--help)     Display this help message.
  -v (--verbose)  Enable verbose mode.
  -V (--version)  Display the application version.

AVAILABLE COMMANDS
  code            Generate Python code for importing the CSV file
  detect          Detect the dialect of a CSV file
  explore         Drop into a Python shell with the CSV file loaded
  help            Display the manual of a command
  standardize     Convert a CSV file to one that conforms to RFC-4180
  view            View the CSV file on the command line using TabView

Each of the commands has further options (for instance, the code and explore commands have support for importing the CSV file as a Pandas DataFrame). Use clevercsv help <command> for more information. Below are some examples for each command:

Code

Code generation is useful when you don't want to detect the dialect of the same file over and over again. You simply run the following command and copy the generated code to a Python script!

$ clevercsv code imdb.csv

# Code generated with CleverCSV

import clevercsv

with open("imdb.csv", "r", newline="", encoding="utf-8") as fp:
    reader = clevercsv.reader(fp, delimiter=",", quotechar="", escapechar="\\")
    rows = list(reader)

We also have a version that reads a Pandas dataframe:

$ clevercsv code --pandas imdb.csv

# Code generated with CleverCSV

import clevercsv

df = clevercsv.csv2df("imdb.csv", delimiter=",", quotechar="", escapechar="\\")

Detect

Detection is useful when you only want to know the dialect.

$ clevercsv detect imdb.csv
Detected: SimpleDialect(',', '', '\\')

The --plain flag gives the components of the dialect on separate lines, which makes combining it with grep easier.

$ clevercsv detect --plain imdb.csv
delimiter = ,
quotechar =
escapechar = \

Explore

The explore command is great for a command-line based workflow, or when you quickly want to start working with a CSV file in Python. This command detects the dialect of a CSV file and starts an interactive Python shell with the file already loaded! You can either have the file loaded as a list of lists:

$ clevercsv explore milk.csv
Dropping you into an interactive shell.

CleverCSV has loaded the data into the variable: rows
>>>
>>> len(rows)
381

or you can load the file as a Pandas dataframe:

$ clevercsv explore -p imdb.csv
Dropping you into an interactive shell.

CleverCSV has loaded the data into the variable: df
>>>
>>> df.head()
                   fn        tid  ... War Western
0  titles01/tt0012349  tt0012349  ...   0       0
1  titles01/tt0015864  tt0015864  ...   0       0
2  titles01/tt0017136  tt0017136  ...   0       0
3  titles01/tt0017925  tt0017925  ...   0       0
4  titles01/tt0021749  tt0021749  ...   0       0

[5 rows x 44 columns]

Standardize

Use the standardize command when you want to rewrite a file using the RFC-4180 standard:

$ clevercsv standardize --output imdb_standard.csv imdb.csv

In this particular example the use of the escape character is replaced by using quotes.

View

This command allows you to view the file in the terminal. The dialect is of course detected using CleverCSV! Both this command and the standardize command support the --transpose flag, if you want to transpose the file before viewing or saving:

$ clevercsv view --transpose imdb.csv

Contributing

If you want to encourage development of CleverCSV, the best thing to do now is to spread the word!

If you encounter an issue in CleverCSV, please open an issue or submit a pull request. Don't hesitate, you're helping to make this project better! If GitHub's not your thing but you still want to contact us, you can send an email to gertjanvandenburg at gmail dot com instead.

Note that all contributions to the project must adhere to the Code of Conduct.

The CleverCSV package was originally written by Gertjan van den Burg and came out of scientific research on wrangling messy CSV files by Gertjan van den Burg, Alfredo Nazabal, and Charles Sutton.

Notes

License: MIT (see LICENSE file).

Copyright (c) 2019-2020 The Alan Turing Institute.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

clevercsv-0.6.1.tar.gz (56.0 kB view details)

Uploaded Source

Built Distributions

clevercsv-0.6.1-cp38-cp38-win_amd64.whl (57.0 kB view details)

Uploaded CPython 3.8 Windows x86-64

clevercsv-0.6.1-cp38-cp38-win32.whl (55.4 kB view details)

Uploaded CPython 3.8 Windows x86

clevercsv-0.6.1-cp38-cp38-manylinux2010_x86_64.whl (89.2 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

clevercsv-0.6.1-cp38-cp38-manylinux2010_i686.whl (88.1 kB view details)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

clevercsv-0.6.1-cp38-cp38-manylinux1_x86_64.whl (89.2 kB view details)

Uploaded CPython 3.8

clevercsv-0.6.1-cp38-cp38-manylinux1_i686.whl (88.1 kB view details)

Uploaded CPython 3.8

clevercsv-0.6.1-cp38-cp38-macosx_10_9_x86_64.whl (50.6 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

clevercsv-0.6.1-cp37-cp37m-win_amd64.whl (56.9 kB view details)

Uploaded CPython 3.7m Windows x86-64

clevercsv-0.6.1-cp37-cp37m-win32.whl (55.3 kB view details)

Uploaded CPython 3.7m Windows x86

clevercsv-0.6.1-cp37-cp37m-manylinux2010_x86_64.whl (89.4 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

clevercsv-0.6.1-cp37-cp37m-manylinux2010_i686.whl (88.2 kB view details)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

clevercsv-0.6.1-cp37-cp37m-manylinux1_x86_64.whl (89.4 kB view details)

Uploaded CPython 3.7m

clevercsv-0.6.1-cp37-cp37m-manylinux1_i686.whl (88.2 kB view details)

Uploaded CPython 3.7m

clevercsv-0.6.1-cp37-cp37m-macosx_10_6_intel.whl (56.8 kB view details)

Uploaded CPython 3.7m macOS 10.6+ intel

clevercsv-0.6.1-cp36-cp36m-win_amd64.whl (56.9 kB view details)

Uploaded CPython 3.6m Windows x86-64

clevercsv-0.6.1-cp36-cp36m-win32.whl (55.3 kB view details)

Uploaded CPython 3.6m Windows x86

clevercsv-0.6.1-cp36-cp36m-manylinux2010_x86_64.whl (87.6 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

clevercsv-0.6.1-cp36-cp36m-manylinux2010_i686.whl (86.5 kB view details)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

clevercsv-0.6.1-cp36-cp36m-manylinux1_x86_64.whl (87.6 kB view details)

Uploaded CPython 3.6m

clevercsv-0.6.1-cp36-cp36m-manylinux1_i686.whl (86.5 kB view details)

Uploaded CPython 3.6m

clevercsv-0.6.1-cp36-cp36m-macosx_10_6_intel.whl (56.8 kB view details)

Uploaded CPython 3.6m macOS 10.6+ intel

File details

Details for the file clevercsv-0.6.1.tar.gz.

File metadata

  • Download URL: clevercsv-0.6.1.tar.gz
  • Upload date:
  • Size: 56.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.3.1 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.2

File hashes

Hashes for clevercsv-0.6.1.tar.gz
Algorithm Hash digest
SHA256 8bfae49a3d9de4365df6733f768458c43ceaa66fc1a88222cce0b0505d3eb6dd
MD5 9b125eba25858194374b74a6fdc4315e
BLAKE2b-256 d19bfeb3156ba443c0e96efb763b718141582f2fd288d29fa6d3405b3d1e6d86

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 57.0 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for clevercsv-0.6.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 55c5420ba75da463d33c2cb864f8d10b2fda076b3f03a452fdc7b828b6bc07b1
MD5 007289df957d32f898dc5cb30db65161
BLAKE2b-256 6e62f3f7c1c7df912be6788f2b05c4564ebc59a31ec25fdf16c19c7bdf40f011

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp38-cp38-win32.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 55.4 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for clevercsv-0.6.1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 41b02e46631404e888fcc80a71662c0526c068e7b219b600e0574136f1bbe8b2
MD5 b4d635e0db076f03932816f9f9925bf0
BLAKE2b-256 cea2721b6802d2d3344e802cb9f500522e8c949169e2ac4717623a2d96317303

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp38-cp38-manylinux2010_x86_64.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp38-cp38-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 89.2 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.6.1-cp38-cp38-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 3ffc744796eeca1f8fba4b7b9cb1f0f21b12c2864cc0c4f8ac5d61a2c1e6047a
MD5 efbab38b58cd59350d20f0888fe0f4de
BLAKE2b-256 11a146beb5505d33dbfa3a409a60d337c7081dd5f582a714c92a1ea1d7a81b16

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp38-cp38-manylinux2010_i686.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp38-cp38-manylinux2010_i686.whl
  • Upload date:
  • Size: 88.1 kB
  • Tags: CPython 3.8, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.6.1-cp38-cp38-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 d3e5311452a782d10ded65cdc80da25872f4a2a8ec1ce4a7452beb21cbb75bda
MD5 1daf008f156837dbb1589880eed66dbf
BLAKE2b-256 bd42b26bf29e04d8dc1af6651e0611b75c576bbc590aa1f9003e4ec867e6ac71

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp38-cp38-manylinux1_x86_64.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp38-cp38-manylinux1_x86_64.whl
  • Upload date:
  • Size: 89.2 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.6.1-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 838c0c58595aeb6a526244acc5772442b8e274f15ec2f55774202d3082d7bbb0
MD5 6ed3d8fdd22b11ccf6b00600202981ce
BLAKE2b-256 166dd657beb530a8261a936748e753be857da86a1c6195584b813d503f734b9b

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp38-cp38-manylinux1_i686.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp38-cp38-manylinux1_i686.whl
  • Upload date:
  • Size: 88.1 kB
  • Tags: CPython 3.8
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.6.1-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 797ceab8686526f2a4762ba6480cf20e3ecf1b0deac7cfb2072008abd5709439
MD5 883b40221d32fe896b903b0539a9f7b5
BLAKE2b-256 9373745d1b3eaa76bfe475ec75c63b4617257138b49764953ad3c5d31730eddb

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 50.6 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.0

File hashes

Hashes for clevercsv-0.6.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7b5c091640f5f7f26cb414b2c77d36b76fb94e3d113073e47cd5f84869c498b9
MD5 55f8f3994dc0b67ea4fbf2b40262c946
BLAKE2b-256 40f99dd5494ead2b05181f7ec60e0c6c0940ce19ee98b764b2cdbd4b3d667310

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp37-cp37m-win_amd64.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp37-cp37m-win_amd64.whl
  • Upload date:
  • Size: 56.9 kB
  • Tags: CPython 3.7m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for clevercsv-0.6.1-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 eae3790b8f1be81019bed00c26da004664a2014f3975c6953b9662507cb7cc82
MD5 87e647155f7a61d7ccc398b6533e9e86
BLAKE2b-256 ee9e7b086c0915183125ab6dcf0539b3d6742c1030a462cc382b4d1e9ad80c2d

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp37-cp37m-win32.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 55.3 kB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for clevercsv-0.6.1-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 e6dc907f678a271caa0afbff36668812d00643a7cbe4b68aa2101ff3a9210d86
MD5 5fef328240c1e1aeb61c364f439567ae
BLAKE2b-256 9f5fe1332b37db80c7453fb180ecc6454f71aba39394565d1434cdcb3f8031ea

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp37-cp37m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp37-cp37m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 89.4 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.6.1-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 7736984238d35ef8bf3f23ea2a35d974f155cbda89b160c42fd647f4d1308dd9
MD5 720b07dd74fb51318e6fde5f67d3b26b
BLAKE2b-256 59c32994cdb1faf391bb6a9bfe8b24c23d7b01c5c7ece7d4cd9d04410a05049a

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp37-cp37m-manylinux2010_i686.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp37-cp37m-manylinux2010_i686.whl
  • Upload date:
  • Size: 88.2 kB
  • Tags: CPython 3.7m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.6.1-cp37-cp37m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 3e965b26e25ebb39241ea62cceeec4209370438c9c338ce1dfaa14f31d33fb14
MD5 f0642386860bb33b659d7e8639d87464
BLAKE2b-256 84a5b98dc2d9abdd14b956bb3c7a819b5713e4b98077d3adc1f871e559b24c3f

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp37-cp37m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 89.4 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.6.1-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ec606175315ac9717ccffe0c3887b63bec609ea15eec27566da5dc7d32a78da9
MD5 58092286c343f82b532dc5f1ce02f525
BLAKE2b-256 726c0b6e9b8b2a7defd0b6247aea803b41c000bfa1f6c42b1e51265ee663e7a5

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp37-cp37m-manylinux1_i686.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp37-cp37m-manylinux1_i686.whl
  • Upload date:
  • Size: 88.2 kB
  • Tags: CPython 3.7m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.6.1-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 695fa96c6a2b95003ed9f0322017c922c8fc97e96d71137690c17f731719f84e
MD5 a1c20b93db706ba188669d694398a336
BLAKE2b-256 be61d5d8d2df5018af1878adf444d27abe786553ea51bded67f8a5bfdbcbabb4

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp37-cp37m-macosx_10_6_intel.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp37-cp37m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 56.8 kB
  • Tags: CPython 3.7m, macOS 10.6+ intel
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.0

File hashes

Hashes for clevercsv-0.6.1-cp37-cp37m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 90e92572dab56f167e1cc992b2272ffc8c7e86d3e019fe44fa1bd056ed0a078b
MD5 16b5ee4aca858c6077196db0b21f51c4
BLAKE2b-256 9d9a914c132e820580c8ada3f70f9a26367f6c6a754d73ee87fb987b6aedd901

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp36-cp36m-win_amd64.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp36-cp36m-win_amd64.whl
  • Upload date:
  • Size: 56.9 kB
  • Tags: CPython 3.6m, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for clevercsv-0.6.1-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 12f413dae226b65ea028344012e3545b2436af18e9ea99fcdda3b77d928fde88
MD5 9ee6c915d2d5f53473ad8b3dc89d4c50
BLAKE2b-256 5dfa294b9b4f290dbaf1851e6d169d04a18853519cd3db0a3a92d13aef6bbf5a

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp36-cp36m-win32.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 55.3 kB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.8

File hashes

Hashes for clevercsv-0.6.1-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 73f30f39c9794d484d494c27494aea5e54ffdfdde8c35ffb843b2750d6f175c8
MD5 4134362dcfbf63a6d2e6853ae2c09fd2
BLAKE2b-256 b0bfae1c4caf92849d55659a8fb6f92c7388cde966f7ae34e3831a840fe6db06

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp36-cp36m-manylinux2010_x86_64.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp36-cp36m-manylinux2010_x86_64.whl
  • Upload date:
  • Size: 87.6 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.6.1-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm Hash digest
SHA256 f94b42d91ffed0a7141fe010ede8395f45932bd3600d8be203577470becd0efe
MD5 039ef5a3e795435cde05c8ffe9f18ff2
BLAKE2b-256 6773d2a8e705fc227f8a66263a59cfc4fc4b8854a22230a2a38f7763cbb5d1d4

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp36-cp36m-manylinux2010_i686.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp36-cp36m-manylinux2010_i686.whl
  • Upload date:
  • Size: 86.5 kB
  • Tags: CPython 3.6m, manylinux: glibc 2.12+ i686
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.6.1-cp36-cp36m-manylinux2010_i686.whl
Algorithm Hash digest
SHA256 dc89612ce56f84e20fb16c17c07b025f7b6d6febc1c11026360957b4aacd978c
MD5 23782e2f9f48e2125c480f62eda1a7a8
BLAKE2b-256 b3eaaf798cd111f85c63ec83f3889182a7d44d786f7aee6d6e06c40aaa072e72

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp36-cp36m-manylinux1_x86_64.whl
  • Upload date:
  • Size: 87.6 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.6.1-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c53145ecc1fa98e5a1b2d4fcdda84e8f549baa6f5feabe6f05dd661c82b2c6a7
MD5 9c1a6159f7827fa634808c987dbd3d01
BLAKE2b-256 55d4877b3f47446d66919221b9ac79d469fafa96e109d5c89883bf2088db09ac

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp36-cp36m-manylinux1_i686.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp36-cp36m-manylinux1_i686.whl
  • Upload date:
  • Size: 86.5 kB
  • Tags: CPython 3.6m
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.1

File hashes

Hashes for clevercsv-0.6.1-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 b5d715f295ab89f2e1884fa7e5a6ec10452ab8e9d96b8ae7009cc280cf583c18
MD5 98086d7a88d1bfbd15a561b7271b7ea3
BLAKE2b-256 ed718524bc8e9604d60acdcd4524aa3c6b3591c16bba3f21ab983b4a43a000a2

See more details on using hashes here.

File details

Details for the file clevercsv-0.6.1-cp36-cp36m-macosx_10_6_intel.whl.

File metadata

  • Download URL: clevercsv-0.6.1-cp36-cp36m-macosx_10_6_intel.whl
  • Upload date:
  • Size: 56.8 kB
  • Tags: CPython 3.6m, macOS 10.6+ intel
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.8.0

File hashes

Hashes for clevercsv-0.6.1-cp36-cp36m-macosx_10_6_intel.whl
Algorithm Hash digest
SHA256 daeb16ad92f1ebf8b4a56e1ded55f331fec2862549343782d5e784c87452362d
MD5 53584797f96d0ca8c81fdf1470bec5ce
BLAKE2b-256 cab8f14e09609ffb035682ff97753e623ad822287df4e46781319af3b45113d3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page