蟒蛇。将自定义方法添加到现有站点包

时间:2017-02-11 00:25:13

标签: python openpyxl

我正在使用openpyxl和python 2.7来操作一些工作簿。我已经为类Worksheet实现了我自己的方法,除了在我尝试访问它们时找不到它们。我在Windows上,我将以下代码添加到site-packages / openpyxl / worksheet / worksheet.py中。源代码here

class Worksheet(_WorkbookChild):
"""
Library defined methods here.
"""

    #My Method.
    def hello_world(self):
       print "Hello from worksheet."

当我打开工作簿并尝试调用我的函数时,即使已经在类工作表的范围内定义(正确?),也会引发“无属性”的错误。

import openpyxl

wb = openpyxl.load_workbook('helloworld.xlsx')
sheet = wb.get_active_sheet()

sheet.hello_world()
AttributeError: 'Worksheet' object has no attribute 'hello_world'

我是否需要以不同的方式更新现有的库?我删除了.pyc,重新编译,我仍然得到同样的错误。

1 个答案:

答案 0 :(得分:0)

对于遇到此问题的任何其他人。当我使用常规选项卡时,库每个缩进使用4个空格。缩进的变化导致该方法即使看起来也没有被定义。