Skip to main content

CLI tool to convert Excel and CSV files to DuckDB

Project description

commic
Logo

Sheetless

Sheetless is a command-line tool that helps you escape the spreadsheet swamp.

It loads .csv and .xlsx files into a DuckDB database, so you can explore your data using pure SQL — without writing a line of Python.

Think of it as your bridge from Excel to SQL based analytics.

Features

  • 🔄 Convert CSV and Excel files to DuckDB tables

  • 📁 Supports directories and wildcards

  • 📊 Handles multi-sheet Excel files

  • 🧠 Generates safe table names automatically

  • 🧹 One command, clean results

Installation

Install it directly from PyPI:

pip install sheetless

Quick Start

Convert a single CSV file into a DuckDB database:

sheetless convert --path data.csv --duckdb mydata.duckdb

Convert all Excel files in a directory:

sheetless convert --path "data/*.xlsx" --duckdb warehouse.duckdb

Load a specific sheet from an Excel file:

sheetless convert --path report.xlsx --sheet "Q2 Sales" --duckdb insights.duckdb

If no table name is given, one is generated from the file and sheet name.

Options

  • --path: Path to file, folder, or wildcard pattern (e.g. *.csv)

  • --duckdb: DuckDB file to use or create

  • --table: (Optional) Custom table name (only works for single file/sheet)

  • --sheet: (Optional) Sheet name to load from an Excel file

Why Sheetless?

Because if you’re stuck in Excel, SQL is freedom. Sheetless makes it one CLI command away.

License

MIT License

Author

Developed by Christos Georgoulis – GitHub

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

sheetless-0.1.2.tar.gz (3.1 MB view details)

Uploaded Source

Built Distribution

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

sheetless-0.1.2-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file sheetless-0.1.2.tar.gz.

File metadata

  • Download URL: sheetless-0.1.2.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sheetless-0.1.2.tar.gz
Algorithm Hash digest
SHA256 27c1ad7015d60a0c80a96afd92949f28e31770bb833aa79b15d0c672a5d478ec
MD5 a5f98de77c31f03af8cdb2a03b387135
BLAKE2b-256 5ffafeb257f4cf0ab285dff4d7490fb22604e5f1ef5df78c11b399d70fa3b70b

See more details on using hashes here.

Provenance

The following attestation bundles were made for sheetless-0.1.2.tar.gz:

Publisher: publish.yml on georgoulis/sheetless

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sheetless-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: sheetless-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for sheetless-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c682706f4e85d7563f20f7b190252c486736e31427fc2de4ba406ddbe45ee694
MD5 67288fcef1e5953adda66ba6ae2851e5
BLAKE2b-256 3bdd5bed22c84d21c4483d6d877c4c9c3495332fba91d1b7666a7423751ab522

See more details on using hashes here.

Provenance

The following attestation bundles were made for sheetless-0.1.2-py3-none-any.whl:

Publisher: publish.yml on georgoulis/sheetless

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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