skillfed

pyexcel

A wrapper library that provides one API to read, manipulate and writedata in different excel formats

pyexcel v0.7.6 2.3M downloads/30d#3,181 on PyPI1,293
Permissive license New BSD Active released

What it is and what it does

pyexcel abstracts away the complexity of working with different spreadsheet and tabular file formats by providing a unified Python API. Instead of learning separate libraries for CSV, Excel, ODS, and JSON, you work with a single set of functions that handle reading, writing, and converting between formats transparently. The package supports multiple data sources—physical files, in-memory data, SQLAlchemy tables, Django models, and Python data structures—and can return results as dictionaries, arrays, or records.

The library is designed for developers who need to move data between formats or extract tabular information without worrying about format-specific quirks. It supports streaming for large datasets through generator-based APIs and handles multiple sheets in workbooks. However, it does not preserve formatting (fonts, colors, charts) or read password-protected files, so it is best suited for data extraction and transformation rather than document preservation.

Use it for:

  • Extract data from an Excel file and convert it to CSV or JSON for processing or sharing
  • Read multiple sheets from a workbook into Python dictionaries or arrays for analysis
  • Batch convert a folder of XLS files to XLSX or other formats using a single API
  • Load tabular data from various sources (CSV, ODS, JSON) into a consistent in-memory structure
  • Stream large spreadsheets as generators to avoid loading entire files into memory

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a single API to read, write, and manipulate data across multiple spreadsheet and tabular file formats including CSV, TSV, XLS, XLSX, ODS, JSON, and HTML.

Yes. pyexcel is actively maintained, has low install friction, carries a permissive license, and solves a real problem—unifying access to multiple spreadsheet formats. It is well-suited for data extraction, format conversion, and tabular data handling. Install it if you work with multiple file formats and want to avoid format-specific boilerplate; skip it if you only need to work with a single format or require advanced formatting preservation.

Install

pyexcel on PyPI

pip

pip install pyexcel

uv

uv add pyexcel

poetry

poetry add pyexcel

Installing pyexcel

Before you install

Low friction installation with three lightweight runtime dependencies (lml, pyexcel-io, texttable). The package is actively maintained with a recent release and 1293 repository stars, indicating stable ongoing support.

License in practice

Licensed under New BSD (permissive), allowing commercial and private use with minimal restrictions beyond attribution and liability disclaimers.

Quickstart

pip install pyexcel

import pyexcel as p

records = p.get_records(file_name="data.xls")
for row in records:
    print(row)

Requires Python 3.6 or later. Fonts, colors, charts, and password-protected XLS/XLSX/ODS files are not supported.

Verify before relying

  • Whether streaming APIs (iget_records, iget_array, isave_as, isave_book_as) are production-ready for large datasets
  • Performance characteristics and memory usage for files with thousands of rows
  • Compatibility with recent Excel versions and edge cases in XLSX/XLSM handling

Package facts

License New BSD (permissive)
Python support supports the current Python release (>=3.6)
Install friction low — pure-Python wheel
Runtime dependencies 3 — lml, pyexcel-io, texttable
Maintenance actively maintained — 46 days since the last release
Last repo commit
First released
Downloads 2,264,211/month — #3,181 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyexcel-0.7.6-py2.py3-none-any.whl

Keywords: python, tsv, tsvzcsv, csvz, xls, xlsx, ods

Development Status :: 3 - AlphaIntended Audience :: DevelopersProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Topic :: Software Development :: Libraries

Tags

read write excel files pythonspreadsheet format conversioncsv xlsx xls handlertabular data file abstractionmulti-format spreadsheet libraryexcel data extractionconvert between spreadsheet formats
data-extractionfile-format-conversionspreadsheet-handling

More Libraries packages