pyexcel-io
A python library to read and write structured data in csv, zipped csvformat and to/from databases
What it is and what it does
pyexcel-io is a Python library that abstracts away file format details, letting you read and write structured data through a single consistent API regardless of whether you're working with CSV, TSV, or their zipped variants. It acts as a foundation layer for handling the low-level mechanics of parsing and serializing tabular data. The library is designed to be extended via plugins—additional packages add support for formats like XLS, XLSX, and ODS—so you can install only the format handlers you need.
You use it when you need to load data from or save data to flat files without writing format-specific parsing code, or when you want a pluggable architecture for handling multiple file types in a single application. It integrates with SQLAlchemy and Django for database workflows. The package has been actively maintained since 2014 and supports Python 3.6 and later.
Use it for:
- Load CSV or TSV files into Python data structures for processing without manual parsing.
- Save tabular data to CSV/TSV files for distribution or archival.
- Build a data pipeline that accepts multiple file formats by installing format-specific plugins.
- Integrate with SQLAlchemy or Django for database import and export operations.
- Extend the library with custom file format handlers for specialized data needs.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a unified API to read and write data in CSV, TSV, and zipped variants (CSVZ, TSVZ) formats, with extensible plugin support for additional formats.
Yes. The package is actively maintained, has low install friction, carries a permissive New BSD License, and fills a clear niche: providing a unified API for reading and writing common tabular formats. It's well-suited for applications that need to handle multiple file formats without tight coupling to any single format library. No known vulnerabilities.
Install
pyexcel-io on PyPI
pip
pip install pyexcel-iouv
uv add pyexcel-iopoetry
poetry add pyexcel-ioInstalling pyexcel-io
Before you install
Low install friction with a single runtime dependency (lml). Active maintenance with a recent release 47 days ago and ongoing issue fixes.
License in practice
New BSD License is permissive and poses no restrictions on commercial or private use, modification, or redistribution.
Quickstart
pip install pyexcel-io
from pyexcel_io import get_data
data = get_data('file.csv')
Requires Python 3.6 or later; fonts, colors, charts, and password-protected files are not supported.
Verify before relying
- Whether the package handles large files efficiently or has memory constraints.
- Performance characteristics when reading/writing files with many rows or columns.
- Exact behavior when multiple format plugins are installed and how library selection works.
Package facts
| License | New BSD (permissive) |
| Python support | supports the current Python release (>=3.6) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — lml |
| Maintenance | actively maintained — 47 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,619,491/month — #2,968 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyexcel_io-0.6.8-py2.py3-none-any.whl
Keywords: python, API, tsv, tsvz, csv, csvz, django, sqlalchemy
Tags
More Libraries packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
python-dateutilProvides parsing, arithmetic, and recurrence…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
pytestpytest is a testing framework that lets you…
permissive · top 100 on PyPI
pyexcelProvides a single API to read, write, and…
permissive · top 5,000 on PyPI
pyexcel-xlsxReads, manipulates, and writes xlsx and xlsm…
permissive · top 5,000 on PyPI
pyexcel-ods3Reads, manipulates, and writes data in ODS…
permissive · top 15,000 on PyPI
pyexcel-xlsReads, manipulates, and writes data in xls…
permissive · top 5,000 on PyPI
pyexcel-webioProvides a unified interface library for…
permissive · top 15,000 on PyPI
tablibTablib converts tabular data between multiple…
permissive · top 5,000 on PyPI
pyexcel-ezodfCreate, open, and modify OpenDocument Format…
permissive · top 15,000 on PyPI
DrissionRecordBuffers and writes data to files (xlsx, csv,…
permissive · top 15,000 on PyPI
DataRecorderDataRecorder provides buffered writing tools…
permissive · top 15,000 on PyPI
dataflows-tabulatorReads and writes tabular data in multiple…
permissive · top 15,000 on PyPI