当前位置: 首页 > news >正文

表格解析调研

表格解析调研

TextInTools

TextInTools:https://tools.textin.com/table

可以将表格图片解析成可编辑的表格/json,效果不错

image-20240806082059832

image-20240806082240661

白描

地址:https://web.baimiaoapp.com/image-to-excel

可以将表格图片识别成可编辑的表格,可复制、导出为xlsx、txt。效果不错,但是免费有额度

image-20240806082712308

i2PDF

地址:https://www.i2pdf.com/cn/extract-tables-from-pdf

可以对pdf进行多种处理,提取表格效果不错,并且可以选择导出的格式,效果不错

image-20240808215201965

image-20240808215238430

Tabula-PDF

项目地址:https://github.com/tabulapdf/tabula

用于从PDF文档中识别和提取表格数据。它利用机器学习算法和计算机视觉技术,能够准确地识别PDF页面中的表格,并将其转换为结构化数据。Tabula-PDF会将识别到的表格转换为结构化数据,如CSV、Excel、json等格式。效果一般

image-20240808212513019

pdflux

项目地址:https://pdflux.com/

效果不错,会有免费额度

image-20240808213532592

iLoveOCR

地址:https://cn.iloveocr.com/

效果一般

ocr2edit

地址:https://www.ocr2edit.com/zh

识别效果不好

py代码

使用python-docx库

python代码实现将word中的表格解析出来

from docx import Documentdoc = Document('example.docx')
for table in doc.tables:for row in table.rows:cells = [cell.text for cell in row.cells]print(cells)

使用PyMuPDF

需要安装PyMuPDF,可以用来提取pdf内容,并且可以查找页面的表格。效果不错

import fitzdoc = fitz.open('../example.pdf')
page = doc[2]  # 下标从0开始
tables = page.find_tables()
df = tables[1].to_pandas()df.to_excel('table.xlsx', index=False)

image-20240809214217856

使用pdfplumber库

使用pdfplumber实现将pdf中的表格解析出来,效果一般,示例代码如下:

import pdfplumber
import pandas as pdwith pdfplumber.open("../example.pdf") as pdf:page = pdf.pages[3]for table in page.extract_tables():df = pd.DataFrame(table[1:], columns=table[0])df.to_excel('table.xlsx', index=False)

image-20240809203921032

使用camelot库

camelot专门用于从 PDF 文件中提取表格数据。效果不错

import camelottables = camelot.read_pdf('../example.pdf')tables.export('result.csv', f='csv', compress=True) # json, excel, html, markdown, sqliteprint(tables[0].parsing_report)tables[0].to_csv('result.csv') # to_json, to_excel, to_html, to_markdown, to_sqlite

image-20240809215502211

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Python】函数进阶(下)
  • 写给大数据开发:在Databricks中自定义函数
  • 前端开发攻略---在Vue3项目中修改Element-Plus主题色
  • Kubernetes-Pod调度基础
  • 昇腾 - AscendCL C++应用开发 图像文件的解码时硬件对图像的宽度和高度的处理方式
  • Python开发中,SQLAlchemy 的同步操作和异步操作封装,以及常规CRUD的处理。
  • Java 3.1 - 计算机网络
  • dubbo:dubbo+zookeeper整合nginx实现网关(四)
  • oracle liunx 常用命令
  • OpenID Connect(OIDC)认证--keycloak与springboot项目的整合
  • SpringBoot的内置缓存以及整合第三方缓存
  • 终端文档安全管理系统是什么?一文给你详解!
  • Spring Boot 3.3 【六】一文读懂 Logback 日志框架
  • 白酒与家庭:团圆时刻的需备佳品
  • 网络攻击常见技术方法(14种)
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • Android Volley源码解析
  • canvas 高仿 Apple Watch 表盘
  • Java 内存分配及垃圾回收机制初探
  • JDK9: 集成 Jshell 和 Maven 项目.
  • js
  • Odoo domain写法及运用
  • React-redux的原理以及使用
  • vue的全局变量和全局拦截请求器
  • 创建一个Struts2项目maven 方式
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 分享一份非常强势的Android面试题
  • 关键词挖掘技术哪家强(一)基于node.js技术开发一个关键字查询工具
  • 前端存储 - localStorage
  • 深度学习在携程攻略社区的应用
  • 网页视频流m3u8/ts视频下载
  • 系统认识JavaScript正则表达式
  • Android开发者必备:推荐一款助力开发的开源APP
  • !!Dom4j 学习笔记
  • #php的pecl工具#
  • (1)bark-ml
  • (6)STL算法之转换
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (第三期)书生大模型实战营——InternVL(冷笑话大师)部署微调实践
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (四)JPA - JQPL 实现增删改查
  • (四)模仿学习-完成后台管理页面查询
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • .bashrc在哪里,alias妙用
  • .cfg\.dat\.mak(持续补充)
  • .NET Framework 3.5中序列化成JSON数据及JSON数据的反序列化,以及jQuery的调用JSON
  • .NET Standard 的管理策略
  • .net反编译的九款神器
  • .NET设计模式(7):创建型模式专题总结(Creational Pattern)
  • @Async注解的坑,小心
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @RequestBody与@ResponseBody的使用
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!
  • [Bug]使用gradio创建应用提示AttributeError: module ‘gradio‘ has no attribute ‘inputs‘
  • [BZOJ4566][HAOI2016]找相同字符(SAM)