用途:从 PDF 文档中提取表格,基于 camelot 库,适合处理带边框、无边框、合并单元格及跨页表格。
主要能力:提供 lattice(检测线条边框)与 stream(基于文本位置,适合无边框)两种提取方式;可按单页、多页、页码范围或全部页面提取;支持指定表格区域坐标、手动指定列位置;结果以 pandas DataFrame 呈现,并附带页码、准确率、空白度、顺序等元数据;可导出为 CSV、Excel、JSON、HTML;支持可视化调试(contour、text、joint、line 等绘图)。
使用方式:提供 PDF 后可选指定页面或检测方法,即可提取表格。示例提示包括“提取此 PDF 中的所有表格”“获取第 5 页的表格”“提取无边框表格”“将 PDF 表格转换为 Excel”。核心调用如 camelot.read_pdf('document.pdf'),通过 flavor 参数选择 lattice 或 stream,pages 参数选择页面,table_areas 指定区域,columns 指定列位置。安装命令:pip install camelot-py[cv];macOS 需 brew install ghostscript tcl-tk,Ubuntu 需 apt-get install ghostscript python3-tk。
适用场景:财务报表、科研数据表、发票行项目、多版本表格对比等。
限制:不支持加密 PDF;图像型 PDF 需先做 OCR 预处理;非常复杂的合并单元格可能需要调参;旋转表格需预处理;大型 PDF 可能需要逐页处理。准确率高于 90% 通常较好,可结合可视化调试判断提取效果。