semvec/pypi-packages huggingface dataset:
ezcsv 0.3
Functions to do obvious things with CSVs

# EZCSV

Some utility functions to do the obvious things you want to do with CSV files.

`csv` is easy, this is EZ.

Install it: `pip install ezcsv`

Definitely works with Python 3+.

It's on it's way towards compatability with Python 2.6+. 

It's hard to say anything about it difinitively because there are no tests.

Please see "Contributing" below.


## Reference

#### `read_dicts(file_path)`

Returns the data at `file_path` as a list of dicts.

- **`file_path`** `string | Path`

#### `read_lists(file_path)`

Returns the data at `file_path` as a list of lists. Ignores blank lines.

- **`file_path`** `string | Path`

Example Usage:
```
>>> from easycsv import csv_as_list
>>> filepath = 'C:\\path\\to\\file.csv'
>>> print(filepath)
C:\path\to\file.csv
>>> l = csv_as_list(filepath)
>>> print(l[0])
First,Line,Of,File,Prints,Here
```

#### `write_dicts(data, csv_path, mkdir=False, silent_fail=False, fieldnames=None, encoding='utf-8', **kwargs)`

Writes the input data to a CSV file

Always produces a Unix-style CSV file, regardless of whether on
Windows or not.

- **`data`** `list[dict]`

   One dict per line. The first dict is expected to contain all of the
keys that will form the header line, unless `fieldnames` is provided.
- **`csv_path`** `string | Path`

   Should have a .csv extension. `mkdir` will malfunction if it doesn't.
- **`mkdir`** `bool`

   If true, creates the directory tree leading up to `csv_path`, ignoring
if directories already exist. Default: `False`
- **`silent_fail`**: `bool`

    If `true`, causes the method to do nothing if `data` happens
to be empty. Default: `False`
- **`fieldnames`**: `list[str]`

    If set, provides the list of field names to be passed to `csv.DictWriter`.
These are written as the header, regardless of what keys are present in
the first dict in `data`. Default: `None`
- **`encoding`**: `str`

    The encoding to write with. Default: 'utf-8'  

- **`kwargs`**: `dict`

    Passed on to `csv.DictWriter`. Cannot include `fieldnames`.

#### `write_lists(data, csv_path, mkdir=False)`

Writes the input data to a CSV file

Always produces a Unix-style CSV file, regardless of whether on
Windows or not.

- **`data`** `list[list]`

   - **`csv_path`** `string | Path`

Should have a .csv extension. `mkdir` will malfunction if it doesn't.
- **`mkdir`** `bool`

   If true, creates the directory tree leading up to `csv_path`, ignoring
if directories already exist.


## Contributing

This could really use some tests!

Feel free to fork and open a pull request. Please, one pull request per
functional change.