mirror of
https://github.com/rzmk/czv.git
synced 2025-12-19 08:09:24 +00:00
56 lines
1.5 KiB
Python
56 lines
1.5 KiB
Python
"""
|
|
# czv
|
|
|
|
Python library for [czv](https://github.com/rzmk/czv). CSV operations library for data engineering/analysis tasks.
|
|
|
|
## Install
|
|
|
|
```bash
|
|
pip install czv
|
|
```
|
|
|
|
## Example
|
|
|
|
```python
|
|
import czv
|
|
|
|
data: str = \"""fruits,price
|
|
apple,2.50
|
|
banana,3.00
|
|
strawberry,1.50\"""
|
|
|
|
output: int = czv.row_count(file_data=data, include_header_row=True)
|
|
|
|
print(output) # 4
|
|
```
|
|
|
|
## Links
|
|
|
|
- czv GitHub repository: <https://github.com/rzmk/czv>
|
|
- Rust: [crates.io/crates/czv](https://crates.io/crates/czv) ([source code](https://github.com/rzmk/czv/tree/main/czv))
|
|
- WebAssembly (JavaScript/TypeScript): [npmjs.com/package/czv](https://www.npmjs.com/package/czv) ([source code](https://github.com/rzmk/czv/tree/main/czv-wasm))
|
|
- Python: [pypi.org/project/czv](https://pypi.org/project/czv/) ([source code](https://github.com/rzmk/czv/tree/main/czv-python))
|
|
|
|
"""
|
|
|
|
from typing import Optional
|
|
from pathlib import Path
|
|
|
|
def row_count(file_path: Optional[Path], file_data: Optional[str], include_header_row: Optional[bool]) -> int:
|
|
"""Returns a count of the total number of rows.
|
|
|
|
## Arguments
|
|
|
|
* `file_path` - CSV file path.
|
|
* `file_data` - CSV file data.
|
|
* `include_header_row` - Specify whether to include the header row (first row) in the row count. Default is false.
|
|
"""
|
|
|
|
def column_count(file_path: Optional[Path], file_data: Optional[str]) -> int:
|
|
"""Returns a count of the total number of columns (fields).
|
|
|
|
## Arguments
|
|
|
|
* `file_path` - CSV file path.
|
|
* `file_data` - CSV file data.
|
|
"""
|