Simple, light and little pip package to read, write and manage CSV files ('.csv') in Python.
Project description
littlecsv
littlecsv is a simple, lightweight pip package for reading, writing, and managing CSV (.csv) files in Python.
- Entries are simply represented as dictionaries: {header_property → entry_value}
- Provides only basic manipulation methods (
add_col,remove_col, …) with fully explicit behaviors - Never assumes a column or cell
typeunless explicitly specified (all cells arestrby default) - Strict on format: no redundant columns in the header, and each line must have the same number of elements
Installation and Usage
Install with pip:
pip install littlecsv
You can now preview a CSV file with the command line:
littlecsv_show ./data_sample.csv
Here is a very brief usage example. For more, have a look to ./usage_example.py.
from littlecsv import CSV
dataset = CSV.read("./data_sample.csv")
dataset.rename_col("sec_str", "secondary structure")
dataset.show()
dataset.write("./data_sample_renamed.csv")
Why ?
The package could just as well be called nopandas.
I know it’s generally considered bad practice to avoid standard tools like pandas.
However … Everyone uses pandas, yet few truly understand what it’s doing under the hood. Indeed, we often wonder "Did pandas just turn my integer ID columns into floats?" or "Did my empty strings just get converted to None or NaN?" or also "How does .groupby deal with missing values?". This encourages a “just push the magic button” R-style workflow that I personally dislike (or maybe I just don’t like reading the docs).
In contrast, here’s a pip package that almost no one uses (except me, sometimes) — but that anyone could understand. It’s a small, simple, and lightweight CSV/DataFrame manager that does no wild, hidden tricks — only clear, explicit manipulations.
Of course, it’s less optimized than pandas code, but in my experience, the memory or computational bottleneck rarely lies in basic data IO.
Requirements
- Python 3.9 or later
- Python packages
numpy
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file littlecsv-1.0.5.tar.gz.
File metadata
- Download URL: littlecsv-1.0.5.tar.gz
- Upload date:
- Size: 10.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d060a2590f9fca424fc2457dd491aba0b4dafa25d7ebf22ab7006352c57bf4d
|
|
| MD5 |
00fb7417515b2a7d3e19d5a80ba93a02
|
|
| BLAKE2b-256 |
f23e1a6266159ea30bb4db99b1c22b5341232aad601cfd7bd54957b10af3798c
|
File details
Details for the file littlecsv-1.0.5-py3-none-any.whl.
File metadata
- Download URL: littlecsv-1.0.5-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e834348a521062fd664030c5a81b3d4993d536b6de75a6e60208a21b236d0ed1
|
|
| MD5 |
1ef781b02ea674e5457588324fc2cdbe
|
|
| BLAKE2b-256 |
f12976caadf38ae91512817ecf1c3cc2fc09df4549362b024ff0bc24dd753709
|