首页 > 解决方案 > pandas 中可用于 to_excel 函数的引擎

问题描述

每当我们使用 to_excel 函数将数据框保存到 pandas 中的 excel 文件 (.xlsx) 时,我们都会有一个选项来指定我们希望使用哪个引擎来完成该过程。我的问题是有哪些可用的引擎?例如,一个引擎是“xlsxwriter”;同样,还有哪些其他可用选项?

标签: pythonexcelpandas

解决方案


Pandas 定义了 Excel 的默认编写器,请参阅pandas/io/excel/_util.py

def _get_default_writer(ext):
    """
    Return the default writer for the given extension.
    Parameters
    ----------
    ext : str
        The excel file extension for which to get the default engine.
    Returns
    -------
    str
        The default engine for the extension.
    """
    _default_writers = {
        "xlsx": "openpyxl",
        "xlsm": "openpyxl",
        "xls": "xlwt",
        "ods": "odf",
    }
    xlsxwriter = import_optional_dependency(
        "xlsxwriter", raise_on_missing=False, on_version="warn"
    )
    if xlsxwriter:
        _default_writers["xlsx"] = "xlsxwriter"
    return _default_writers[ext]

因此,如果您安装了模块,则扩展的默认值为 ,xlsx否则为。xlsxwriteropenpyxl


推荐阅读