Python binding for beautiful Rust's library for reading excel and odf file - calamine.
Pypi:
pip install python-calamine
Conda:
conda install -c conda-forge python-calamine
frompython_calamineimportCalamineWorkbookworkbook=CalamineWorkbook.from_path("file.xlsx")
workbook.sheet_names# ["Sheet1", "Sheet2"]workbook.get_sheet_by_name("Sheet1").to_python()
# [# ["1", "2", "3", "4", "5", "6", "7"],# ["1", "2", "3", "4", "5", "6", "7"],# ["1", "2", "3", "4", "5", "6", "7"],# ]By default, calamine skips empty rows/cols before data. For suppress this behaviour, set skip_empty_area to False.
frompython_calamineimportCalamineWorkbookworkbook=CalamineWorkbook.from_path("file.xlsx").get_sheet_by_name("Sheet1").to_python(skip_empty_area=False)
# [# [", ", ", ", ", ", "],# ["1", "2", "3", "4", "5", "6", "7"],# ["1", "2", "3", "4", "5", "6", "7"],# ["1", "2", "3", "4", "5", "6", "7"],# ]Pandas 2.2 and above have built-in support of python-calamine.
Also, you can find additional examples in tests.
You'll need rust installed.
# clone this repo or your fork
git clone git@github.com:dimastbk/python-calamine.git
cd python-calamine
# create a new virtual env
python3 -m venv env
source env/bin/activate
# install dev dependencies and install python-calamine
pip install --group dev -e .# required pip 25.1 and above# lint code
pre-commit run --all-files
# test code
pytest