返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

从PDF文件中提取基于文本的表格

[复制链接]
链载Ai 显示全部楼层 发表于 2 小时前 |阅读模式 打印 上一主题 下一主题

上篇文章介绍了一种利用大模型从PDF中提取表格的方法

RAG系列第一篇文章,介绍一种利用大模型进行PDF提取表格文字信息和表格生成的方法,包括相关技术原理和代码。

并面向两个领域的常见PDF文件进行了尝试:金融领域-公司股权激励计划草案的表格提取生成,政务领域-项目招标文件中的表格提取,取得了良好的效果。

JunieChu,公众号:bytechu利用大模型从PDF中提取表格

实际效果也提到在面对复杂的表格,或者一个页面中存在多个表格的情况下,存在一定不准确性。

下面我们介绍另外一种从PDF文件中提取基于文本的表格的方法,解决以上问题。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);visibility: visible;">1. 导入库

首先导入所需的库,我们利用 camelot 。

importcamelotfromtypingimportListimportpandasaspd


ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;text-wrap: wrap;background-color: rgb(255, 255, 255);visibility: visible;">2.提取结构化表格

deffetch_tables(path:str,pagesist[int]):table_dfs = []for page in pages:table_list=camelot.read_pdf(path,pages=str(page))for table in table_list:table_df = table.dftable_df = (table_df.rename(columns=table_df.iloc[0]).drop(table_df.index[0]).reset_index(drop=True))table_dfs.append(table_df)
return table_dfs

该函数将 path位置的pdf文件中指定页码 pages 内的表格进行提取,以list形式返回,列表中每个元素就是一个表格的文本数据。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);visibility: visible;">3. 效果展示

file_path="files/2022.pdf"table_dfs=fetch_tables(file_path,pages=[8,9])fortableintable_dfs:df=pd.DataFrame(table)print(df)

上篇文章发出后,有位读者发来他当前待抽取表格数据的PDF文件,文件内容是金融领域公开的某上市公司2022年年报。

他表格抽取结果数据的顺序是乱的,因此无法做后一步的分析。我们先看下这两页的内容和样式:

利用新的方法我们看下表格抽取的效果。

可以看到准确识别出了每页的表格数量:<TableList n=2>,一共4个表格,每个表格抽取后的文本内容也进行的准确的还原输出。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;letter-spacing: 0.544px;background-color: rgb(255, 255, 255);visibility: visible;">4.小结

新的方法能很好地适配复杂表格的文本内容抽取,并且能保留表格的结构化格式。

后续可接入大模型,单独对每个表格进行提问和查询分析。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ