{"id":7208,"library":"excel","title":"Python Excel Libraries (The 'excel' PyPI Package is Reserved)","description":"The 'excel' package on PyPI (version 1.0.1) is a placeholder, reserved by Microsoft Corporation, and does not provide any functional library for interacting with Excel files. Python developers typically use other robust and actively maintained libraries such as `openpyxl` for reading and writing `.xlsx` files, `pandas` for data analysis and manipulation with Excel integration, `xlsxwriter` for creating new `.xlsx` files with extensive formatting, `xlwings` for automating Excel with Python, and `pyexcel` for a unified API across various Excel formats. This entry focuses on guiding users to `openpyxl` as the most common direct alternative for Excel file operations.","status":"abandoned","version":"1.0.1","language":"en","source_language":"en","source_url":"https://pypi.org/project/excel/","tags":["excel","xlsx","xls","spreadsheet","openpyxl","pandas","xlsxwriter"],"install":[{"cmd":"pip install openpyxl","lang":"bash","label":"For reading/writing .xlsx files (most common need)"},{"cmd":"pip install pandas openpyxl","lang":"bash","label":"For data analysis with Excel (requires openpyxl or xlrd)"},{"cmd":"pip install xlsxwriter","lang":"bash","label":"For writing new .xlsx files with advanced formatting"}],"dependencies":[],"imports":[{"note":"The `excel` package does not contain a Workbook class; `openpyxl` is the correct library.","wrong":"import excel.Workbook","symbol":"Workbook","correct":"from openpyxl import Workbook"},{"note":"Attempting to import from 'excel' will result in an ImportError as the package is non-functional.","wrong":"from excel import load_workbook","symbol":"load_workbook","correct":"from openpyxl import load_workbook"}],"quickstart":{"code":"from openpyxl import Workbook\nfrom openpyxl import load_workbook\n\n# Create a new workbook\nwb = Workbook()\nws = wb.active\nws.title = \"Sheet1\"\nws['A1'] = 'Hello'\nws['B1'] = 'World!'\n\n# Save the workbook\nfile_path = \"example.xlsx\"\nwb.save(file_path)\nprint(f\"Created {file_path}\")\n\n# Load an existing workbook\nloaded_wb = load_workbook(file_path)\nloaded_ws = loaded_wb.active\ncell_a1_value = loaded_ws['A1'].value\nprint(f\"Value from A1: {cell_a1_value}\")","lang":"python","description":"This quickstart demonstrates how to create a new Excel workbook, write data to it, save it, and then load an existing workbook to read data using `openpyxl`, the most commonly used library for direct `.xlsx` file manipulation."},"warnings":[{"fix":"Always use specific, functional libraries like `openpyxl`, `pandas`, `xlsxwriter`, or `xlwings` instead of `excel`.","message":"The `excel` package on PyPI is a reserved placeholder and does not contain any functional code. Attempting to install or import from it will not provide Excel manipulation capabilities.","severity":"breaking","affected_versions":"All versions (1.0.1)"},{"fix":"Refer to `openpyxl`'s official documentation for detailed usage, especially regarding cell addressing and sheet manipulation to avoid unexpected behavior.","message":"When working with `openpyxl`, remember that cell coordinates are 1-indexed (e.g., 'A1', 'B2') and sheets are accessed by name or by being the active sheet. New workbooks always start with one active sheet.","severity":"gotcha","affected_versions":"openpyxl 2.x and 3.x"},{"fix":"Determine the file format (`.xls` vs. `.xlsx`) before choosing a library. Use `xlrd` or `xlwt` for `.xls` files and `openpyxl`, `xlsxwriter`, or `pandas` for `.xlsx` files.","message":"If you're dealing with older `.xls` files (not `.xlsx`), `openpyxl` will not work. You'll need libraries like `xlrd` (for reading) or `xlwt` (for writing).","severity":"gotcha","affected_versions":"All Python Excel libraries"}],"env_vars":null,"last_verified":"2026-04-16T00:00:00.000Z","next_check":"2026-07-15T00:00:00.000Z","problems":[{"fix":"Install and import from a specific Excel library, e.g., `pip install openpyxl` then `from openpyxl import Workbook`.","cause":"You tried to import directly from a module named 'excel', which does not exist as a functional library after installing the PyPI placeholder package.","error":"ModuleNotFoundError: No module named 'excel'"},{"fix":"Ensure you are using `openpyxl` with `.xlsx` files. For `.xls` files, use `xlrd` (e.g., `import xlrd; workbook = xlrd.open_workbook('your_file.xls')`).","cause":"Attempting to open an `.xls` file with `openpyxl` (which expects `.xlsx` files).","error":"zipfile.BadZipFile: File is not a zip file"},{"fix":"Double-check cell access methods. Use `ws.cell(row=1, column=1)` for integer-based access or `ws['A1']` for string-based access, ensuring consistency.","cause":"Often occurs when iterating over cells or trying to access them by string coordinates where an integer index is expected, or vice-versa, especially when mixing `openpyxl`'s 1-indexed string notation with 0-indexed integer loops.","error":"TypeError: 'str' object cannot be interpreted as an integer"}]}