使用 python 的 tabula 包,我试图从多个 pdf 文件中提取表。这对于多行表格非常有效,但是,一些 pdf 文件的表格只有一行。尝试转换这些 pdf 时,它返回一个空列表。这些文件存在问题是有道理的,因为单行表本质上只是另一行文本。
但是,重要的是这些 pdf 也被转换为 DataFrame,因为它们在我的数据集中出现得相当频繁。不幸的是,pdf文件是专有的,所以我不能在这里展示它们。我希望这个限制不会阻止找到解决方案。下面是进行转换的代码行。
df = tabula.read_pdf(DIRECTORY + file_name, pages = 'all', pandas_options={'header': None}, encoding="utf-8")
我试图以几种方式解决这个问题。首先,我尝试在源代码的原始 pdf 文件中插入额外的一行,不幸的是,这是不可能的。我尝试使用 tabula-py 网站上的提示(https://tabula-py.readthedocs.io/en/latest/faq.html#i-got-a-empty-dataframe-how-can-i-resolve-它):
- 设置特定区域以进行准确的表格检测。
- 为具有显式行的表尝试 lattice = True 选项。
- 尝试流 = True 选项
按照第一个提示,我尝试使用在 Adobe 中进行的测量来指定一个区域。这仍然返回一个空的 DataFrame。我尝试了第二个和第三个提示,这又返回了一个空列表。
所以我的问题是:“有没有办法让 tabula-py 包识别 pdf 中只有一行的表?”
我希望有人知道如何解决这个问题。提前感谢您的努力。