93 lines
3.2 KiB
Plaintext
93 lines
3.2 KiB
Plaintext
Metadata-Version: 2.3
|
|
Name: python-calamine
|
|
Version: 0.3.1
|
|
Classifier: Development Status :: 4 - Beta
|
|
Classifier: License :: OSI Approved :: MIT License
|
|
Classifier: Programming Language :: Rust
|
|
Classifier: Programming Language :: Python :: 3.8
|
|
Classifier: Programming Language :: Python :: 3.9
|
|
Classifier: Programming Language :: Python :: 3.10
|
|
Classifier: Programming Language :: Python :: 3.11
|
|
Classifier: Programming Language :: Python :: 3.12
|
|
Classifier: Programming Language :: Python :: 3.13
|
|
Requires-Dist: packaging ~=24.1
|
|
License-File: LICENSE
|
|
Summary: Python binding for Rust's library for reading excel and odf file - calamine
|
|
Home-Page: https://github.com/dimastbk/python-calamine
|
|
Author: Dmitriy <dimastbk@proton.me>
|
|
Author-email: Dmitriy <dimastbk@proton.me>
|
|
License: MIT
|
|
Requires-Python: >=3.8
|
|
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
Project-URL: Source Code, https://github.com/dimastbk/python-calamine
|
|
|
|
# python-calamine
|
|
[](https://pypi.org/project/python-calamine/)
|
|
[](https://anaconda.org/conda-forge/python-calamine)
|
|

|
|
|
|
|
|
Python binding for beautiful Rust's library for reading excel and odf file - [calamine](https://github.com/tafia/calamine).
|
|
|
|
### Is used
|
|
* [calamine](https://github.com/tafia/calamine)
|
|
* [pyo3](https://github.com/PyO3/pyo3)
|
|
* [maturin](https://github.com/PyO3/maturin)
|
|
|
|
### Installation
|
|
Pypi:
|
|
```
|
|
pip install python-calamine
|
|
```
|
|
Conda:
|
|
```
|
|
conda install -c conda-forge python-calamine
|
|
```
|
|
|
|
### Example
|
|
```python
|
|
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`.
|
|
```python
|
|
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.
|
|
```python
|
|
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](https://github.com/dimastbk/python-calamine/blob/master/tests/test_base.py).
|
|
|