python-calamine
这是一个用于读取 Excel 和 ODF 文件的 Rust 库 calamine 的 Python 绑定。
使用了
安装
Pypi:
pip install python-calamine
Conda:
conda install -c conda-forge python-calamine
示例
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"],
# ]
默认情况下,calamine 会跳过数据前的空行/列。要禁用此行为,请将 skip_empty_area
设置为 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"],
# ]
此外,你可以为 pandas 使用猴子补丁,以在 read_excel()
中使用此库作为引擎(仅支持 pandas 2.0 和 2.1 版本)。
Pandas 2.2 及以上版本内置支持 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
你还可以在 tests 中找到更多示例。