覆盖已使用(但未导入)的类中的属性

问题描述 投票:0回答:1

我正在使用Python的

fitz
/
pymupdf
pdf2docx
包从pdf文件中读取表格,以便我可以从中获取数据并对其进行适当的建模以存储在数据湖中。

pdf2docx 中的 Converter 类似乎具有非常可靠的配置,可以让它获取所有表格并非常干净地读取它们。 一个问题是,有时它会替换我认为它认为是带有 string 的嵌套表的内容。 我在上面发现了这个 issue,并通过编辑 pdf2docx 表目录中

Cell
文件中的
Cell.py
类,成功在本地计算机中复制了修复程序。 但是,我希望能够在 GCP 的云函数中使用它,而无需将源代码作为直接文件加载到云函数中。 有没有办法通过我的requirements.txt文件安装pdf2docx,然后在我的代码本身中重新定义方法
Cell.text

python monkeypatching pdf-extraction
1个回答
0
投票

显然,人们可以在自己的脚本/子模块中对类进行猴子修补。我只是在文件顶部执行了此操作,我知道最终将调用 Cell.text 方法/属性:

def text(self):
    '''Text contained in this cell.'''
    if not self: return None
    # NOTE: sub-table may exists in

    text = []

    for block in self.blocks:
        if block.is_text_block:
            text.append(block.text)
        elif block.__class__.__name__ == "TableBlock":
            text.append(''.join(numpy.array(block.text).flatten()))
        else:
            text.append("<NESTED TABLE>")
    return '\n'.join(text)


Cell.text = property(text)
© www.soinside.com 2019 - 2024. All rights reserved.