Utility functions for CSV files.
Latest release 20201228: Python 3 csv_reader new a generator.
In python 2 the stdlib CSV reader reads 8 bit byte data and returns str objects;
these need to be decoded into unicode objects.
In python 3 the stdlib CSV reader reads an open text file and returns str
objects (== unicode).
So we provide csv_reader() generators to yield rows containing unicode.
Function csv_import(fp, class_name=None, column_names=None, computed=None, preprocess=None, mixin=None, **kw)
Read CSV data where the first row contains column headers. Returns a row namedtuple factory and an iterable of instances.
Parameters:
fp: a file object containing CSV data, or the name of such a fileclass_name: optional class name for the namedtuple subclass used for the row data.column_names: optional iterable of column headings; if provided then the file is not expected to have internal column headingscomputed: optional keyword parameter providing a mapping of str to functions ofself; these strings are available via getitempreprocess: optional keyword parameter providing a callable to modify CSV rows before they are converted into the namedtuple. It receives a context object and the data row. It may return the row (possibly modified), or None to drop the row.mixin: an optional mixin class for the generated namedtuple subclass to provide extra methods or properties
All other keyword parameters are passed to csv_reader(). This
is a very thin shim around cs.mappings.named_column_tuples.
Examples:
>>> cls, rows = csv_import(['a, b', '1,2', '3,4'], class_name='Example_AB')
>>> cls #doctest: +ELLIPSIS
<function named_row_tuple.<locals>.factory at ...>
>>> list(rows)
[Example_AB(a='1', b='2'), Example_AB(a='3', b='4')]
>>> cls, rows = csv_import(['1,2', '3,4'], class_name='Example_DEFG', column_names=['D E', 'F G '])
>>> list(rows)
[Example_DEFG(d_e='1', f_g='2'), Example_DEFG(d_e='3', f_g='4')]
Function csv_reader(arg, *a, **kw)
Read the file fp using csv.reader.
fp may also be a filename.
Yield the rows.
Warning: ignores the encoding and errors parameters
because fp should already be decoded.
Function csv_writerow(csvw, row, encoding='utf-8')
Write the supplied row as strings encoded with the supplied encoding,
default 'utf-8'.
Function xl_import(workbook, sheet_name=None, skip_rows=0, **kw)
Read the named sheet_name from the Excel XLSX file named
filename as for csv_import.
Returns a row namedtuple factory and an iterable of instances.
Parameters:
workbook: Excel work book from which to load the sheet; if this is a str then the work book is obtained from openpyxl.load_workbook()sheet_name: optional name of the work book sheet whose data should be imported; the default (None) selects the active worksheet
Other keyword parameters are as for cs.mappings.named_column_tuples.
NOTE: this function requires the openpyxl module to be available.
Release Log
Release 20201228: Python 3 csv_reader new a generator.
Release 20191118: xl_import: make sheet_name parameter optional with useful default
Release 20190103: Documentation updates.
Release 20180720: csv_import and xl_import function to load spreadsheet exports via cs.mappings.named_column_tuples.
Release 20170608: Recode using new simpler cs.sharedfile.SharedAppendLines.
Release 20160828:
- Update metadata with "install_requires" instead of "requires".
- Python 2 and 3 portability fixes.
- Assorted minor improvements.
Release 20150116: Initial PyPI release.
Metadata
Release files for cs.csvutils 20201228
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cs.csvutils-20201228.tar.gz | 5.2 kB | Without provenance | Details for cs.csvutils-20201228.tar.gz |
Release files / cs.csvutils-20201228.tar.gz
| Download URL | cs.csvutils-20201228.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3c1b0cb9e1965959d8874423c925a8c5ae430224108415fecee81bffa7bbbb67
|
|
BLAKE2b-256 checksum How to use checksums |
6d9a2067387a45a79b2eb2a73dae3b6c70b5cf45dd4a7e8aad60d7a1fe7741ba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.55.0 CPython/3.9.1
|
Security for cs.csvutils 20201228
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.