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

东明住房和城乡建设局网站网站是哪个公司做的好处

东明住房和城乡建设局网站,网站是哪个公司做的好处,网站设计经典案例,wordpress google 慢目录 专栏导读概述主要工具库介绍1. tabula-py2. camelot-py3. pdfplumber4. PyMuPDF (fitz)环境准备安装依赖Java环境配置(tabula-py需要)方法一:使用tabula-py提取表格基础用法高级配置方法二:使用camelot-py提取表格方法三:使用pdfplumber提取表格批量处理多个PDF文件数…

目录

    • 专栏导读
    • 概述
    • 主要工具库介绍
      • 1. tabula-py
      • 2. camelot-py
      • 3. pdfplumber
      • 4. PyMuPDF (fitz)
    • 环境准备
      • 安装依赖
      • Java环境配置(tabula-py需要)
    • 方法一:使用tabula-py提取表格
      • 基础用法
      • 高级配置
    • 方法二:使用camelot-py提取表格
    • 方法三:使用pdfplumber提取表格
    • 批量处理多个PDF文件
    • 数据后处理和清洗
    • 完整的批量处理脚本
    • 使用示例
    • 常见问题和解决方案
      • 1. Java环境问题
      • 2. 表格识别不准确
      • 3. 内存不足
      • 4. 中文编码问题
    • 性能优化建议
    • 总结
    • 结尾

专栏导读

  • 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手

  • 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注

  • 👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅

  • 🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅

  • 📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅

  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏

  • ❤️ 欢迎各位佬关注! ❤️

概述

在日常工作中,我们经常需要从PDF文件中提取表格数据进行分析。手动复制粘贴不仅效率低下,还容易出错。本文将介绍如何使用Python自动化批量提取PDF中的表格数据,并将其转换为可处理的格式。

主要工具库介绍

1. tabula-py

  • 优势:专门用于PDF表格提取,功能强大
  • 特点:基于Java的tabula库,支持复杂表格结构
  • 适用场景:结构化表格,边框清晰的PDF

2. camelot-py

  • 优势:高精度表格提取,支持表格质量评估
  • 特点:提供多种提取策略,可视化调试
  • 适用场景:高质量PDF文档,需要精确提取

3. pdfplumber

  • 优势:轻量级,易于使用
  • 特点:可以提取文本、表格和图像信息
  • 适用场景:简单表格,文本密集型PDF

4. PyMuPDF (fitz)

  • 优势:功能全面,性能优秀
  • 特点:支持多种PDF操作,包括表格提取
  • 适用场景:复杂PDF处理需求

环境准备

安装依赖

# 安装tabula-py(需要Java环境)
pip install tabula-py# 安装camelot-py
pip install camelot-py[cv]# 安装pdfplumber
pip install pdfplumber# 安装PyMuPDF
pip install PyMuPDF# 安装pandas用于数据处理
pip install pandas# 安装其他辅助库
pip install openpyxl xlsxwriter

Java环境配置(tabula-py需要)

# 检查Java版本
java -version# 如果没有Java,需要安装JDK 8或更高版本

方法一:使用tabula-py提取表格

基础用法

import tabula
import pandas as pd
import os
from pathlib import Pathdef extract_tables_with_tabula(pdf_path, output_dir):"""使用tabula-py提取PDF中的表格Args:pdf_path: PDF文件路径output_dir: 输出目录"""try:# 提取所有表格tables = tabula.read_pdf(pdf_path, pages='all', multiple_tables=True)pdf_name = Path(pdf_path).stem# 保存每个表格for i, table in enumerate(tables):if not table.empty:output_file = os.path.join(output_dir, f"{pdf_name}_table_{i+1}.xlsx")table.to_excel(output_file, index=False)print(f"表格 {i+1} 已保存到: {output_file}")return len(tables)except Exception as e:print(f"处理文件 {pdf_path} 时出错: {str(e)}")return 0# 使用示例
pdf_file = "example.pdf"
output_directory = "extracted_tables"
os.makedirs(output_directory, exist_ok=True)table_count = extract_tables_with_tabula(pdf_file, output_directory)
print(f"共提取了 {table_count} 个表格")

高级配置

def advanced_tabula_extraction(pdf_path, output_dir):"""高级tabula提取配置"""try:# 自定义提取参数tables = tabula.read_pdf(pdf_path,pages='all',multiple_tables=True,lattice=True,  # 使用格线检测stream=False,  # 不使用流模式guess=True,    # 自动猜测表格区域pandas_options={'header': 0}  # 设置第一行为表头)pdf_name = Path(pdf_path).stemfor i, table in enumerate(tables):if not table.empty:# 数据清洗table = table.dropna(how='all')  # 删除全空行table = table.dropna(axis=1, how='all')  # 删除全空列# 保存为多种格式base_name = f"{pdf_name}_table_{i+1}"# Excel格式excel_file = os.path.join(output_dir, f"{base_name}.xlsx")table.to_excel(excel_file, index=False)# CSV格式csv_file = os.path.join(output_dir, f"{base_name}.csv")table.to_csv(csv_file, index=False, encoding='utf-8-sig')print(f"表格 {i+1} 已保存: {base_name}")return len(tables)except Exception as e:print(f"处理失败: {str(e)}")return 0

方法二:使用camelot-py提取表格

import camelot
import pandas as pddef extract_tables_with_camelot(pdf_path, output_dir):"""使用camelot-py提取PDF表格"&

文章转载自:

http://VoJVy2Ja.jjzrh.cn
http://SZkaNlzW.jjzrh.cn
http://N8pztY4E.jjzrh.cn
http://oDpQ3ZAu.jjzrh.cn
http://vHXvKAQ3.jjzrh.cn
http://32etEIsx.jjzrh.cn
http://t0dcRTTo.jjzrh.cn
http://A26of37m.jjzrh.cn
http://9BH3HUnj.jjzrh.cn
http://4x4tH2Mz.jjzrh.cn
http://eUYoCHFq.jjzrh.cn
http://b9UMaiSG.jjzrh.cn
http://MfyC7cvw.jjzrh.cn
http://lAPhtaA5.jjzrh.cn
http://Tlba0MF9.jjzrh.cn
http://XvpQpgvw.jjzrh.cn
http://zKaLGdYY.jjzrh.cn
http://7hXWJInx.jjzrh.cn
http://2nW3HIK4.jjzrh.cn
http://BirGmSsq.jjzrh.cn
http://4HSRc8Vz.jjzrh.cn
http://yO6msPjk.jjzrh.cn
http://E0eEQjOC.jjzrh.cn
http://CFnTdkvp.jjzrh.cn
http://HDx6tg9P.jjzrh.cn
http://wCbrGCce.jjzrh.cn
http://yFBOD6kg.jjzrh.cn
http://ZSAkZVhF.jjzrh.cn
http://dDCbYDBz.jjzrh.cn
http://qZJ4b06d.jjzrh.cn
http://www.dtcms.com/wzjs/737548.html

相关文章:

  • 整站排名优化教程东莞市行业网站制作公司
  • 石龙镇做网站怎么知道网站用什么软件做的
  • 阜宁网站制作收费标准做网站学哪些语言
  • 清河网站建设费用租号网站开发
  • 网站案例模版怎么给网站做logo
  • 湖南网站建设平台企业qq多少钱一年
  • 长治企业网站建设免费申请域名做网站
  • 做网站资料准备微网站站点名称
  • 电子商务网站如何推广北京网站设计与建设
  • 手机编程app哪个好百度优化关键词
  • 洛阳网站建设价格wordpress Cute
  • 萝卜建站appwordpress模板title属性
  • 网站 文章 keywords 和主页keywords北京高端网站建设工作
  • 个人做企业 网站wordpress做网站教程
  • 国安中建建设集团网站算命手机网站开发
  • 区网站建设seo外包服务公司
  • 加强和改进网站建设建设方案织梦 帝国 wordpress
  • 雅虎网站提交入口义乌外贸网站建设行吗
  • 电子商务官方网站公司网站还有用吗
  • 一般做网站上传的图片大小wordpress4.9 环境
  • 福建网站模板长春网站建设哪家专业
  • 移动网站建设书网站一天要发多少外链
  • 南宁网站设计公司优化游戏卡顿的软件
  • 开发公众号 微网站开发做网站怎么做的
  • 内链wordpress漳州做网站优化
  • 推荐外贸网站建设的公司wordpress 缓存机制
  • 吉野家网站谁做的优秀品牌策划方案ppt
  • jsp电商网站开发流程wordpress 点击特效
  • 网站开发 验收移交网站loading动画效果
  • dedecms本地打开网站wordpress网站速度