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
Metadata
Release files for littlecsv 1.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| littlecsv-1.0.5.tar.gz | 10.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| littlecsv-1.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.4 kB
Release files / littlecsv-1.0.5.tar.gz
| Download URL | littlecsv-1.0.5.tar.gz |
|---|---|
| Size | 10.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1d060a2590f9fca424fc2457dd491aba0b4dafa25d7ebf22ab7006352c57bf4d
|
|
BLAKE2b-256 checksum How to use checksums |
f23e1a6266159ea30bb4db99b1c22b5341232aad601cfd7bd54957b10af3798c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.1
|
Release files / littlecsv-1.0.5-py3-none-any.whl
| Download URL | littlecsv-1.0.5-py3-none-any.whl |
|---|---|
| Size | 11.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e834348a521062fd664030c5a81b3d4993d536b6de75a6e60208a21b236d0ed1
|
|
BLAKE2b-256 checksum How to use checksums |
f12976caadf38ae91512817ecf1c3cc2fc09df4549362b024ff0bc24dd753709
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.1
|