1

我想知道如何从 python 中的 pdf 文件中提取特定的表列。

到目前为止我的代码

    import tabula.io as tb
from tabula.io import read_pdf
dfs = tb.read_pdf(pdf_path, pages='all')
print (len(dfs)) [It displays 73]

我可以通过 print (dfs[2]['Section ID']) 访问单个表列我想知道如何使用 for 循环在所有数据框中搜索特定列。

我想做这样的事情

for i in range(len(dfs)):
    if (dfs[i][2]) == 'Section ID ' //(This gives invalid syntax)
    print dfs[i]
4

1 回答 1

0

如果您只有一个带有Section ID名称的数据框(或者只对此列的第一个数据框感兴趣),您可以遍历返回的列表read_pdf,检查列是否存在in df.columns以及break何时找到匹配项。

import tabula.io as tb
from tabula.io import read_pdf
df_list = tb.read_pdf(pdf_path, pages='all')

for df in df_list:
    if 'Section ID' in df.columns:
        break
print(df)

如果该列可能有多个数据框,则Section ID可以使用列表理解过滤器并获取具有该列名称的数据框列表。

dfs_section_id = [df for df in df_list if 'Section ID' in df.columns]
于 2021-11-27T18:22:30.337 回答