Skip to main content

Python binding for Rust's library for reading excel and odf file - calamine

Project description

python-calamine

PyPI - Version Conda Version Python Version from PEP 621 TOML

Python binding for beautiful Rust's library for reading excel and odf file - calamine.

Is used

Installation

Pypi:

pip install python-calamine

Conda:

conda install -c conda-forge python-calamine

Example

from python_calamine import CalamineWorkbook

workbook = 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.

from python_calamine import CalamineWorkbook

workbook = 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"],
# ]

Also, you can use monkeypatch for pandas for use this library as engine in read_excel() (only pandas 2.0 and 2.1 are supported). Pandas 2.2 and above have built-in support of python-calamine.

from pandas import read_excel
from python_calamine.pandas import pandas_monkeypatch


pandas_monkeypatch()

read_excel("file.xlsx", engine="calamine")
#            1   2   3   4   5   6   7
# 0          1   2   3   4   5   6   7
# 1          1   2   3   4   5   6   7

Also, you can find additional examples in tests.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_calamine-0.2.0.tar.gz (129.6 kB view hashes)

Uploaded Source

Built Distributions

python_calamine-0.2.0-pp310-pypy310_pp73-win_amd64.whl (634.1 kB view hashes)

Uploaded PyPy Windows x86-64

python_calamine-0.2.0-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded PyPy musllinux: musl 1.1+ x86-64

python_calamine-0.2.0-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl (1.7 MB view hashes)

Uploaded PyPy musllinux: musl 1.1+ ARM64

python_calamine-0.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

python_calamine-0.2.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

python_calamine-0.2.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl (750.5 kB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

python_calamine-0.2.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl (767.8 kB view hashes)

Uploaded PyPy macOS 10.12+ x86-64

python_calamine-0.2.0-pp39-pypy39_pp73-win_amd64.whl (634.1 kB view hashes)

Uploaded PyPy Windows x86-64

python_calamine-0.2.0-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded PyPy musllinux: musl 1.1+ x86-64

python_calamine-0.2.0-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl (1.7 MB view hashes)

Uploaded PyPy musllinux: musl 1.1+ ARM64

python_calamine-0.2.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

python_calamine-0.2.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

python_calamine-0.2.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl (750.5 kB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

python_calamine-0.2.0-pp39-pypy39_pp73-macosx_10_12_x86_64.whl (767.8 kB view hashes)

Uploaded PyPy macOS 10.12+ x86-64

python_calamine-0.2.0-pp38-pypy38_pp73-win_amd64.whl (633.1 kB view hashes)

Uploaded PyPy Windows x86-64

python_calamine-0.2.0-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded PyPy musllinux: musl 1.1+ x86-64

python_calamine-0.2.0-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl (1.7 MB view hashes)

Uploaded PyPy musllinux: musl 1.1+ ARM64

python_calamine-0.2.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

python_calamine-0.2.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl (1.6 MB view hashes)

Uploaded PyPy manylinux: glibc 2.5+ i686

python_calamine-0.2.0-pp38-pypy38_pp73-macosx_11_0_arm64.whl (751.4 kB view hashes)

Uploaded PyPy macOS 11.0+ ARM64

python_calamine-0.2.0-pp38-pypy38_pp73-macosx_10_12_x86_64.whl (768.2 kB view hashes)

Uploaded PyPy macOS 10.12+ x86-64

python_calamine-0.2.0-cp312-none-win_arm64.whl (608.7 kB view hashes)

Uploaded CPython 3.12 Windows ARM64

python_calamine-0.2.0-cp312-none-win_amd64.whl (636.2 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

python_calamine-0.2.0-cp312-none-win32.whl (612.0 kB view hashes)

Uploaded CPython 3.12 Windows x86

python_calamine-0.2.0-cp312-cp312-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

python_calamine-0.2.0-cp312-cp312-musllinux_1_1_aarch64.whl (1.7 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ ARM64

python_calamine-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

python_calamine-0.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.8 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

python_calamine-0.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

python_calamine-0.2.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.6 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

python_calamine-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

python_calamine-0.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.5+ i686

python_calamine-0.2.0-cp312-cp312-macosx_11_0_arm64.whl (751.8 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

python_calamine-0.2.0-cp312-cp312-macosx_10_12_x86_64.whl (767.4 kB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

python_calamine-0.2.0-cp311-none-win_arm64.whl (607.8 kB view hashes)

Uploaded CPython 3.11 Windows ARM64

python_calamine-0.2.0-cp311-none-win_amd64.whl (634.6 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

python_calamine-0.2.0-cp311-none-win32.whl (608.9 kB view hashes)

Uploaded CPython 3.11 Windows x86

python_calamine-0.2.0-cp311-cp311-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

python_calamine-0.2.0-cp311-cp311-musllinux_1_1_aarch64.whl (1.7 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

python_calamine-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

python_calamine-0.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

python_calamine-0.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

python_calamine-0.2.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

python_calamine-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

python_calamine-0.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.5+ i686

python_calamine-0.2.0-cp311-cp311-macosx_11_0_arm64.whl (750.7 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

python_calamine-0.2.0-cp311-cp311-macosx_10_12_x86_64.whl (767.3 kB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

python_calamine-0.2.0-cp310-none-win_amd64.whl (634.6 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

python_calamine-0.2.0-cp310-none-win32.whl (608.9 kB view hashes)

Uploaded CPython 3.10 Windows x86

python_calamine-0.2.0-cp310-cp310-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

python_calamine-0.2.0-cp310-cp310-musllinux_1_1_aarch64.whl (1.7 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

python_calamine-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

python_calamine-0.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.8 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

python_calamine-0.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

python_calamine-0.2.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

python_calamine-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

python_calamine-0.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.5+ i686

python_calamine-0.2.0-cp310-cp310-macosx_11_0_arm64.whl (750.9 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

python_calamine-0.2.0-cp310-cp310-macosx_10_12_x86_64.whl (767.3 kB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

python_calamine-0.2.0-cp39-none-win_amd64.whl (635.0 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

python_calamine-0.2.0-cp39-none-win32.whl (609.2 kB view hashes)

Uploaded CPython 3.9 Windows x86

python_calamine-0.2.0-cp39-cp39-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

python_calamine-0.2.0-cp39-cp39-musllinux_1_1_aarch64.whl (1.7 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

python_calamine-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

python_calamine-0.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.8 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

python_calamine-0.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

python_calamine-0.2.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

python_calamine-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

python_calamine-0.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.5+ i686

python_calamine-0.2.0-cp39-cp39-macosx_11_0_arm64.whl (752.2 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

python_calamine-0.2.0-cp39-cp39-macosx_10_12_x86_64.whl (768.3 kB view hashes)

Uploaded CPython 3.9 macOS 10.12+ x86-64

python_calamine-0.2.0-cp38-none-win_amd64.whl (634.4 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

python_calamine-0.2.0-cp38-none-win32.whl (609.1 kB view hashes)

Uploaded CPython 3.8 Windows x86

python_calamine-0.2.0-cp38-cp38-musllinux_1_1_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

python_calamine-0.2.0-cp38-cp38-musllinux_1_1_aarch64.whl (1.7 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

python_calamine-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

python_calamine-0.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.8 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

python_calamine-0.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.7 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

python_calamine-0.2.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARMv7l

python_calamine-0.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

python_calamine-0.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl (1.6 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.5+ i686

python_calamine-0.2.0-cp38-cp38-macosx_11_0_arm64.whl (751.5 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

python_calamine-0.2.0-cp38-cp38-macosx_10_12_x86_64.whl (768.4 kB view hashes)

Uploaded CPython 3.8 macOS 10.12+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page