我们如何能够直接从 openpyxl 包中调用 load_workbook

how are we able to directly call load_workbook from openpyxl package

我无法理解,我们如何能够直接从 openpyxl 包中调用 load_workbook。我经历了https://openpyxl.readthedocs.io/en/stable/api/openpyxl.html才明白。但是我做不到。

我们可以这样调用 load_workbook 函数。有人可以帮助我理解这一点。我们既没有从包中导入模块,也没有从 package.module 中导入函数,也没有直接导入其中定义了 openpyxl 的 package.module。 root openpyxl 包本身有定义的功能吗?

import openpyxl as xl
xl.load_workbook()

如果您要检查包的 __init__.py,您会发现 - 除其他外 - 以下几行:

from openpyxl.workbook import Workbook
from openpyxl.reader.excel import load_workbook

然后,去reader.excel.py你会找到load_workbook的定义:

def load_workbook(filename, read_only=False, keep_vba=KEEP_VBA,
                  data_only=False, guess_types=False, keep_links=True):
    """Open the given filename and return the workbook .....

这(我相信)是作者为用户创建一个方便的界面而做的,因为这些都是非常常见和基本的功能。所以不需要做:

openpyxl.reader.excel.load_workbook()

你可以这样做:

openpyxl.load_workbook()

For more information about What is __init__.py for?