For a python library for manipulating excel files, the strongest matches are jmcnamara/xlsxwriter (This library is a specialized tool for creating and), pandas-dev/pandas (Pandas is a primary tool for data manipulation that) and xlwings/xlwings (This library allows you to automate Excel by controlling). pyexcel/pyexcel and box/spout round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
We curate open-source GitHub repositories matching “best python excel libraries”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
XlsxWriter is a library for generating spreadsheets in the XLSX format, functioning as an Excel workbook writer and file generator. It provides the capability to write data, apply cell formatting, and build complex layouts across multiple worksheets. The project distinguishes itself with a memory-optimized writing mode that flushes large datasets to disk row-by-row, enabling the creation of files exceeding 4 GB while minimizing RAM consumption. It also includes a specialized mechanism for embedding binary project files and digital signatures to enable VBA macros and signed scripts within work
This library is a specialized tool for creating and formatting XLSX files with high performance, though it is strictly a writer and lacks the ability to read or modify existing spreadsheet files.
Pandas is a high-performance data analysis library that provides a comprehensive framework for manipulating, cleaning, and transforming structured datasets. It centers on labeled one-dimensional and two-dimensional data structures, allowing users to construct, filter, and reshape tabular information while performing complex arithmetic and logical operations. The library distinguishes itself through a sophisticated indexing engine that enables automatic data alignment during calculations and relational merges. By utilizing a block-based memory layout, it optimizes cache locality for vectorized
Pandas is a primary tool for data manipulation that includes robust built-in IO drivers for reading and writing Excel files, making it a standard choice for programmatic spreadsheet interaction despite its broader focus on data analysis.
xlwings - Make Excel fly with Python!
This library allows you to automate Excel by controlling the application directly via Python, providing robust support for reading, writing, and styling spreadsheets while integrating seamlessly with Pandas.
Single API for reading, manipulating and writing data in csv, ods, xls, xlsx and xlsm files
This library provides a unified interface for reading and writing various spreadsheet formats including XLSX, making it a capable tool for programmatic data manipulation in Python.
Spout is a spreadsheet file processing library and multi-format generator designed for reading and writing CSV, XLSX, and ODS files. It functions as a stream-based parser that processes large spreadsheet files incrementally to avoid loading entire documents into memory. The library provides capabilities for programmatic spreadsheet generation and data extraction. It supports custom content styling, allowing for the application of fonts, backgrounds, borders, and number formats to individual cells or rows. Beyond basic file input and output, the project covers workbook manipulation through se
This is a PHP library for spreadsheet processing, which does not meet the requirement for a Python-based tool for Excel manipulation.
x-spreadsheet is an HTML5 canvas spreadsheet component and web-based data grid designed for high-performance data display and cell manipulation. It serves as an interactive web component that allows users to manage structured data within a browser-based interface. The project includes an XLSX file serializer that imports and exports spreadsheet state using binary XML formats compatible with Excel. It also features a locale-aware UI framework that translates interface labels and date formats through configurable language objects. The component covers a broad range of capabilities including fo
This is a browser-based JavaScript UI component for rendering spreadsheets in the frontend, rather than a Python library for programmatic file manipulation.
SheetJS is a comprehensive library for parsing, manipulating, and generating complex spreadsheet file formats. It functions as a universal data processor that maps diverse binary, XML, and text-based file structures into a unified internal object model, allowing developers to create, read, and transform workbook data programmatically. The library distinguishes itself through a portable logic layer that provides a consistent execution environment across web browsers, server-side runtimes, and native desktop or mobile applications. By utilizing stream-based processing, it handles large files in
This is a JavaScript-based library for spreadsheet manipulation, which does not provide the Python-native interface or Pandas integration required for your workflow.
gspread is a Python client library and API wrapper designed for programmatically interacting with Google Sheets. It serves as a spreadsheet automation library that enables the creation, organization, and management of cloud-based spreadsheets via Python scripts. The library provides a simplified interface for Google Sheets automation, allowing users to read, write, and update data without writing raw HTTP requests. It supports cloud spreadsheet integration, enabling external Python applications to use Google Sheets as a data storage layer. The project covers a broad range of capabilities inc
This library is designed for interacting with cloud-based Google Sheets via an API rather than for reading, writing, or manipulating local Excel spreadsheet files.
Grist is a relational spreadsheet platform that combines the flexibility of a spreadsheet with the power of a relational database. At its core, it manages structured data across multiple linked tables, using a relational database engine to organize information while providing a familiar grid interface. The platform supports Python-based formulas for complex calculations and data transformations, with automatic recalculation when referenced cells change. The system is designed for self-hosted deployment, storing data in either portable SQLite files or enterprise-grade PostgreSQL databases. It
Grist is a full-featured relational spreadsheet application and platform rather than a Python library for programmatically reading and writing Excel files.
This project is a Model Context Protocol server that provides an interface for AI agents to programmatically create, read, and modify Excel workbooks. It serves as a bridge that enables large language models to perform spreadsheet automation and data visualization. The server allows AI agents to generate native Excel charts and pivot tables from raw data, transforming structured information into visual summaries. It provides a mechanism for remote spreadsheet management through a protocol-based connectivity layer. The system covers a broad range of spreadsheet manipulation capabilities, incl
This project is a Model Context Protocol server designed to expose spreadsheet capabilities to AI agents rather than a library for developers to integrate directly into their own Python applications.
This project is a JavaScript spreadsheet component and web-based data table that provides an interactive grid for managing tabular data. It functions as a cross-framework UI component compatible with React, Vue, and jQuery, and can also be embedded as a standalone web component. The grid is specifically designed for XLSX interoperability, allowing users to import and export XLSX files while preserving formulas and styles. It distinguishes itself through real-time collaboration for simultaneous multi-user editing and a flexible system for creating custom cell editors and specialized column typ
This is a JavaScript-based UI component for web browsers, whereas you are looking for a Python library to perform programmatic spreadsheet manipulation on the backend.
IronCalc is an XLSX spreadsheet engine and formula evaluator designed to compute numerical expressions and manage workbook structures. It utilizes a logic engine compatible with industry standards to evaluate formulas and manage cell dependencies. The project provides a comprehensive suite of specialized toolkits, including a financial calculation library for bond pricing and net present value, and an engineering math toolkit for complex number arithmetic and Bessel functions. It also features a web-based spreadsheet interface for creating and formatting workbooks. The engine covers a broad
This is a spreadsheet engine and web-based interface written in Rust rather than a Python library for programmatic Excel manipulation, making it a tool you would build upon rather than a direct solution for your Python workflow.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| jmcnamara/xlsxwriter | 3.9K | Python | bsd-2-clause | |
| pandas-dev/pandas | 49K | Python | BSD-3-Clause | |
| xlwings/xlwings | 3.3K | Python | other | |
| pyexcel/pyexcel | 1.3K | Python | NOASSERTION | |
| box/spout | 4.2K | PHP | Apache-2.0 | |
| myliang/x-spreadsheet | 14.6K | JavaScript | MIT | |
| sheetjs/sheetjs | 36.3K | — | Apache-2.0 | |
| burnash/gspread | 7.5K | Python | MIT | |
| gristlabs/grist-core | 11.2K | TypeScript | Apache-2.0 | |
| haris-musa/excel-mcp-server | 3.9K | Python | MIT |