csv.py
CSV
dataclass
Bases: IO[Iterable[Iterable[Any]]]
IO representing a CSV file.
Example usage:
>>> from ordeq_files import CSV
>>> from pathlib import Path
>>> computer_sales = CSV(
... path=Path("path/to/computer_sales.csv")
... )
Example in a node:
>>> from ordeq import node
>>> computer_sales_in_nl = CSV(path=Path("computer_sales_nl.csv"))
>>> @node(
... inputs=computer_sales,
... outputs=computer_sales_in_nl
... )
... def filter_computer_sales(computer_sales: list) -> list:
... return [row for row in computer_sales if row[1] == "NL"]
Loading and saving can be configured with additional parameters, e.g:
>>> computer_sales.load(quotechar='"', delimiter=',') # doctest: +SKIP
>>> computer_sales.with_load_options(dialect='excel').load() # doctest: +SKIP
>>> data = [["NL", "2023-10-01", 1000], ["BE", "2023-10-02", 1500]]
>>> computer_sales.save(data, quoting=csv.QUOTE_MINIMAL) # doctest: +SKIP
Refer to 1 for more details on the available options.