--- id: pyexcel version: "0.7.6" license: New BSD license_treatment: permissive maintenance: active --- # pyexcel — A wrapper library that provides one API to read, manipulate and writedata in different excel formats License: permissive · Maintenance: active · Downloads: 2.3M/mo ## 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 above — 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 pip install pyexcel uv add pyexcel 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_current - Install friction: low - Maintenance: active - Downloads: 2.3M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags read write excel files python, spreadsheet format conversion, csv xlsx xls handler, tabular data file abstraction, multi-format spreadsheet library, excel data extraction, convert between spreadsheet formats, data-extraction, file-format-conversion, spreadsheet-handling [View on SkillFed](https://skillfed.io/packages/pyexcel) · [View on PyPI](https://pypi.org/project/pyexcel/)