gpt4 book ai didi

python - 使用 tabula.py 从 PDF 格式读取没有标题的表格

转载 作者:行者123 更新时间:2023-12-02 02:26:08 27 4
gpt4 key购买 nike

我有一个包含表格的 pdf 文件,我想使用 tabula 将其作为数据框读取。但只有第一个 PDF 页面有列标题。第 1 页之后的数据帧标题成为信息的第一行。有什么方法可以将页眉从第 1 页数据帧添加到其余数据帧?提前致谢。非常感谢!

最佳答案

可以通过以下步骤解决这个问题:

  1. 阅读 PDF:

    tables = tabula.read_pdf(filename, pages='all', pandas_options={'header': None})

这将创建一个数据框列表,将页面作为列表中的数据框。

pandas_options={'header': None} is used not to take first row as header in the dataframe.

因此,第一页的标题将是表列表中数据框的第一行。

  1. 在变量中保存 header :

    cols = tables[0].values.tolist()[0]

这将创建一个名为 cols 的列表,表列表中第一个 df 的第一行是我们的标题。

  1. 删除第一页的第一行:

    表[0] = 表[0].iloc[1:]

这一行将删除表列表中第一个 df(page) 的第一行,因为我们已经存储在一个变量中,我们不再需要它了。

  1. 为所有页面提供标题:

    对于表中的 df:df.columns = cols

此循环将遍历每个 dfs(页面)并为它们提供我们存储在 cols 变量中的标题。

因此,第 1 页数据帧的标题将提供给其余数据帧(页面)。

您也可以将其连接到一个数据框中

import pandas as pd

和:

df_Final = pd.concat(tables)

希望这对你有帮助,感谢这个机会。

关于python - 使用 tabula.py 从 PDF 格式读取没有标题的表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65626278/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com