Skip to main content

Simple, light and little pip package to read, write and manage CSV files ('.csv') in Python.

Project description

littlecsv

PyPi Version License: MIT

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 type unless explicitly specified (all cells are str by default)
  • Strict on format: no redundant columns in the header, and each line must have the same number of elements

Why ?

I know it’s generally considered bad practice to avoid standard tools like pandas, however … The package could just as well be called nopandas.

Everyone uses pandas, yet few truly understand what it’s doing under the hood. 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 manipulation.

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.write("./data_sample_renamed.csv")

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

littlecsv-1.0.2.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

littlecsv-1.0.2-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file littlecsv-1.0.2.tar.gz.

File metadata

  • Download URL: littlecsv-1.0.2.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.1

File hashes

Hashes for littlecsv-1.0.2.tar.gz
Algorithm Hash digest
SHA256 fd9d5f855ac76eda2b8cdd1708ae82f9e9314b7ba30d150ada45370a54984fbd
MD5 5edb22953bdfbc31220844ff7201a408
BLAKE2b-256 3e22e65e40ecaf8622b53ee097ad27df95fd9e52246d13ae5fe7e6ba1218401d

See more details on using hashes here.

File details

Details for the file littlecsv-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: littlecsv-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 11.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.1

File hashes

Hashes for littlecsv-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0b11f112f28f3e17a3f760604e49f5a2936ef0b16622efe3964e4afae8ad2cf5
MD5 ca293c2354783bb40d876b0e69ed7938
BLAKE2b-256 20157fa3645c6070f92eebb2328aac22da7845c4ea4b9919760b448cfac92200

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page