微信扫码
添加专属顾问
我要投稿
上篇文章介绍了一种利用大模型从PDF中提取表格的方法
RAG系列第一篇文章,介绍一种利用大模型进行PDF提取表格文字信息和表格生成的方法,包括相关技术原理和代码。
并面向两个领域的常见PDF文件进行了尝试:金融领域-公司股权激励计划草案的表格提取生成,政务领域-项目招标文件中的表格提取,取得了良好的效果。
JunieChu,公众号:bytechu利用大模型从PDF中提取表格
实际效果也提到在面对复杂的表格,或者一个页面中存在多个表格的情况下,存在一定不准确性。
下面我们介绍另外一种从PDF文件中提取基于文本的表格的方法,解决以上问题。
1. 导入库
首先导入所需的库,我们利用 camelot 。
import camelotfrom typing import Listimport pandas as pd
2. 提取结构化表格
def fetch_tables(path: str, pages: List[int]):
table_dfs = []
for page in pages:
table_list = camelot.read_pdf(path, pages=str(page))
for table in table_list:
table_df = table.df
table_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形式返回,列表中每个元素就是一个表格的文本数据。
3. 效果展示
file_path = "files/2022.pdf"table_dfs = fetch_tables(file_path, pages=[8, 9])for table in table_dfs:df = pd.DataFrame(table)print(df)
上篇文章发出后,有位读者发来他当前待抽取表格数据的PDF文件,文件内容是金融领域公开的某上市公司2022年年报。
他表格抽取结果数据的顺序是乱的,因此无法做后一步的分析。我们先看下这两页的内容和样式:
利用新的方法我们看下表格抽取的效果。
可以看到准确识别出了每页的表格数量:<TableList n=2>,一共4个表格,每个表格抽取后的文本内容也进行的准确的还原输出。
4. 小结
新的方法能很好地适配复杂表格的文本内容抽取,并且能保留表格的结构化格式。
后续可接入大模型,单独对每个表格进行提问和查询分析。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-04-24
从搜索到解决方案:解锁火山 DeepSearch 的“三连跳” MCP 玩法
2025-04-24
一文搞懂:RAG、Agent与多模态的行业实践与未来趋势
2025-04-24
字节扣子空间 VS 智谱AutoGLM,谁家Agent更好用?(附邀请码)
2025-04-24
Function Calling已经过时 ,MCP才是真正的大模型接口标准
2025-04-24
大模型技术创新驱动的AI生态和应用演进
2025-04-24
除了MCP我们还有什么?
2025-04-24
LLM 推理引擎之争:Ollama or vLLM ?
2025-04-24
刚刚,OpenAI发布GPT-image-1模型,更强吉卜力版本来啦
2024-08-13
2024-06-13
2024-08-21
2024-09-23
2024-07-31
2024-05-28
2024-08-04
2024-04-26
2024-07-09
2024-09-17