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

做美食网站的需求分析wordpress 允许评论

做美食网站的需求分析,wordpress 允许评论,iis 配置网站 404页面,云南建设厅官方网站从PDF文档中提取表格并将其转换为更易于处理的格式(如文本、CSV和Excel文件),是数据分析和信息管理中的常见需求。此过程可显著简化表格数据的处理,使数据的操作、分析和与其他数据集的集成更加便捷。无论是财务报表、研究论文&am…

从PDF文档中提取表格并将其转换为更易于处理的格式(如文本、CSV和Excel文件),是数据分析和信息管理中的常见需求。此过程可显著简化表格数据的处理,使数据的操作、分析和与其他数据集的集成更加便捷。无论是财务报表、研究论文,还是包含结构化信息的其他文档,掌握这些表格准确转换的方法对于充分发挥数据潜力至关重要。

本文将介绍如何使用简单的Python代码从PDF文档中提取表格数据并将其写入文本、CSV和Excel文件,从而轻松实现PDF表格的自动化提取。

文章目录

    • 如何使用Python提取PDF表格数据
    • 用Python将PDF表格数据提取为文本文件
    • 用Python将PDF表格数据提取为CSV文件
    • 用Python将PDF表格数据提取到Excel工作表
    • 使用Python直接将PDF转换为Excel文件

本文所需的库为Spire.PDF for Python。可通过PyPI安装:pip install spire.pdf

用于操作的示例PDF
Python提取PDF表格

如何使用Python提取PDF表格数据

库中的PdfTableExtractor类用于处理PDF文档的表格提取。可以通过PdfTableExtractor.ExtractTable(pageIndex: int)方法从PDF页面中提取表格,并以Utilities_PdfTable对象的集合形式返回表格数据。接着,可通过遍历表格并使用Utilities_PdfTable.GetCellText(rowIndex: int, columnIndex: int)方法获取每个单元格中的数据。

提取PDF表格数据的一般步骤如下:

  • 创建一个PdfDocument实例并使用PdfDocument.LoadFromFile()方法加载PDF文档。
  • 使用该文档创建PdfTableExtractor实例。
  • 使用PdfTableExtractor.ExtractTable(pageIndex: int)方法提取文档中每页的表格。
  • 遍历每个表格并使用Utilities_PdfTable.GetCellText(rowIndex: int, columnIndex: int)方法获取单元格值。
  • 将提取的表格数据写入其他文件。

注意:当使用提取的表格数据构建字符串时,如果单元格文本中包含换行符,最终生成的文本文件中可能会多出额外的换行符。为了避免造成混淆,应将这些换行符去除或替换为空格。

用Python将PDF表格数据提取为文本文件

提取PDF文档中的表格数据后,可直接将每个表格的数据写入字符串并保存到文本文件中,从而实现将PDF表格数据导出为文本文件。

具体步骤如下:

  1. 导入所需模块:PdfDocumentPdfTableExtractor
  2. 创建PdfDocument实例并使用PdfDocument.LoadFromFile()方法加载PDF文档。
  3. 使用该文档创建PdfTableExtractor实例。
  4. 使用PdfTableExtractor.ExtractTable(pageIndex: int)方法提取每页中的表格。
  5. 遍历提取的表格:
    • 创建一个str对象以存储表格数据。
    • 使用Utilities_PdfTable.GetCellText(rowIndex: int, columnIndex: int)方法获取单元格值。
    • 将单元格值追加到str对象中。
    • str对象写入文件。
  6. 释放资源。

代码示例

from spire.pdf import PdfDocument, PdfTableExtractor# 创建一个 PdfDocument 对象
pdf = PdfDocument()
# 加载一个 PDF 文档
pdf.LoadFromFile("Sample.pdf")# 创建一个 PdfTableExtractor 对象
extractor = PdfTableExtractor(pdf)# 遍历所有页面
for pageIndex in range(pdf.Pages.Count):# 从每个 PDF 页面中提取表格tables = extractor.ExtractTable(pageIndex)# 如果存在多个表格,则遍历这些表格if tables is not None:for tableIndex in range(len(tables)):# 获取一个表格table = tables[tableIndex]# 创建一个字符串对象来存储表格数据tableData = ""# 遍历表格的行和列for rowIndex in range(table.GetRowCount()):for colIndex in range(table.GetColumnCount()):# 获取单元格文本text = table.GetText(rowIndex, colIndex)text = text.replace("\n", " ")# 将单元格文本添加到表格数据中tableData += textif colIndex < table.GetColumnCount() - 1:tableData += "\t"tableData += "\n"# 将表格数据写入文本文件with open(f"output/Tables/Page{pageIndex+1}-Table{tableIndex+1}.txt", "w", encoding="utf-8") as f:f.write(tableData)# 释放资源
pdf.Dispose()

输出结果
Python提取PDF表格到文本文件

用Python将PDF表格数据提取为CSV文件

同样,可以使用类似方法从PDF文档中提取表格数据,并利用Python标准库中的CSV模块将每个表格写入CSV文件。在此过程中也需注意去除或替换换行符,以改善CSV文件的结果。具体步骤如下:

  1. 导入所需模块:PdfDocumentPdfTableExtractorCSV
  2. 创建PdfDocument实例并使用PdfDocument.LoadFromFile()方法加载PDF文档。
  3. 使用该文档创建PdfTableExtractor实例。
  4. 使用PdfTableExtractor.ExtractTable(pageIndex: int)方法提取每页中的表格。
  5. 遍历提取的表格:
    • 创建CSV文件。
    • 遍历表格中的行并创建列表以存储行数据。
    • 使用Utilities_PdfTable.GetCellText(rowIndex: int, columnIndex: int)方法获取每行的单元格值并追加到列表中。
    • 使用csv.writer().writerow()方法将每行写入CSV文件。
  6. 释放资源。

代码示例

from spire.pdf import PdfDocument, PdfTableExtractor
import csv# 创建一个 PdfDocument 对象
pdf = PdfDocument()
# 加载一个 PDF 文档
pdf.LoadFromFile("Sample.pdf")# 创建一个 PdfTableExtractor 对象
extractor = PdfTableExtractor(pdf)# 遍历所有页面
for pageIndex in range(pdf.Pages.Count):# 从每个 PDF 页面中提取表格tables = extractor.ExtractTable(pageIndex)# 如果存在多个表格,则遍历这些表格if tables is not None:for tableIndex in range(len(tables)):# 获取一个表格table = tables[tableIndex]# 创建一个 CSV 文件with open("output/Tables/Page" + str(pageIndex+1) + "-Table" + str(tableIndex+1) + ".csv", "w", newline='', encoding='utf-8') as csvFile:writer = csv.writer(csvFile)# 遍历表格的行和列for rowIndex in range(table.GetRowCount()):row = []for colIndex in range(table.GetColumnCount()):# 获取单元格文本text = table.GetText(rowIndex, colIndex)text = text.replace('\n', ' ')row.append(text)writer.writerow(row)# 释放资源
pdf.Dispose()

输出结果
Python提取PDF表格到CSV

用Python将PDF表格数据提取到Excel工作表

可使用另一库Spire.XLS for Python将提取的PDF表格数据写入Excel工作表。通过PyPI获取Spire.PDF for Python:pip install spire.xls
具体步骤如下:

  1. 导入所需模块:PdfDocumentPdfTableExtractorWorkbookspire.xls.FileFormat
  2. 创建PdfDocument实例并使用PdfDocument.LoadFromFile()方法加载PDF文档。
  3. 创建Workbook实例用于存储表格,并使用Workbook.Worksheets.Clear()方法清除默认工作表。
  4. 使用该文档创建PdfTableExtractor实例。
  5. 使用PdfTableExtractor.ExtractTable(pageIndex: int)方法提取每页中的表格。
  6. 遍历提取的表格:
    • 使用Workbook.Worksheets.Add(sheetName: str)方法为每个表格添加工作表。
    • 使用Utilities_PdfTable.GetCellText(rowIndex: int, columnIndex: int)方法获取表格的单元格值。
    • 通过Worksheet.Range[rowIndex + 1, colIndex + 1].Text属性将单元格值写入相应的工作表单元格。
  7. 使用Workbook.SaveToFile()方法保存工作簿。
  8. 释放资源。

代码示例

from spire.pdf import PdfDocument, PdfTableExtractor
from spire.xls import Workbook, FileFormat, HorizontalAlignType# 创建一个 PdfDocument 对象
pdf = PdfDocument()
# 加载一个 PDF 文档
pdf.LoadFromFile("Sample.pdf")# 创建一个 Workbook 对象
workbook = Workbook()
# 清除默认的工作表
workbook.Worksheets.Clear()# 创建一个 PdfTableExtractor 对象
extractor = PdfTableExtractor(pdf)# 从每个 PDF 页面中提取表格
for pageIndex in range(pdf.Pages.Count):tables = extractor.ExtractTable(pageIndex)# 如果存在多个表格,则遍历这些表格if tables is not None:for tableIndex in range(len(tables)):# 获取一个表格table = tables[tableIndex]# 为表格创建一个工作表sheet = workbook.Worksheets.Add(f"Page{pageIndex + 1}-Table{tableIndex + 1}")# 遍历表格的行和列for rowIndex in range(table.GetRowCount()):for colIndex in range(table.GetColumnCount()):# 获取单元格值text = table.GetText(rowIndex, colIndex)cellText = text.replace("\n", "")# 将单元格值写入工作表的相应单元格sheet.Range[rowIndex + 1, colIndex + 1].Text = cellText# 可选:自定义表格的外观# 设置标题行样式sheet.Rows.get_Item(0).Style.Font.FontName = "Yu Gothic UI"sheet.Rows.get_Item(0).Style.Font.Size = 12sheet.Rows.get_Item(0).Style.Font.IsBold = Truesheet.Rows.get_Item(0).Style.HorizontalAlignment = HorizontalAlignType.Center# 设置数据行样式for i in range(1, sheet.Rows.Count):sheet.Rows.get_Item(i).Style.Font.FontName = "Yu Gothic UI"sheet.Rows.get_Item(i).Style.Font.Size = 12sheet.Rows.get_Item(i).Style.HorizontalAlignment = HorizontalAlignType.Left# 自动调整列宽for j in range(1, sheet.Columns.Count):sheet.AutoFitColumn(j)# 保存工作簿
workbook.SaveToFile("output/PDFTableToExcel.xlsx", FileFormat.Version2016)
# 释放资源
workbook.Dispose()
pdf.Close()

输出结果
Python提取PDF表格到Excel工作表

使用Python直接将PDF转换为Excel文件

还可以使用PdfDocument.SaveToFile(fileName: str, FileFormat.XLSX)方法将PDF文档直接转换为Excel文件。此方法适用于以表格为主的PDF文档,有助于尽可能保留表格的原始外观。
为减少转换后Excel表格中的空白,可以在转换前去除PDF文档的边距。参考以下文章:
Python删除PDF文档的页边距

直接将PDF文档转换为Excel文件的具体步骤如下:

  1. 导入所需模块:PdfDocumentFileFormat
  2. 创建一个PdfDocument实例。
  3. 使用PdfDocument.LoadFromFile()方法加载PDF文档。
  4. 将文档转换为Excel文件并使用PdfDocument.SaveToFile(fileName: str, FileFormat.XLSX)方法保存。
  5. 释放资源。

代码示例

from spire.pdf import PdfDocument, FileFormat# 创建一个 PdfDocument 实例
pdf = PdfDocument()# 加载一个 PDF 文档
pdf.LoadFromFile("Sample.pdf")# 将 PDF 文档转换为 Excel 文件
pdf.SaveToFile("output/PDFToExcel.xlsx", FileFormat.XLSX)# 关闭 PDF 文档
pdf.Close()

输出结果
Python转换PDF为Excel

本文展示了如何用Python将PDF表格提取到文本、CSV和Excel文件,并将PDF文档转换为Excel工作簿。

申请免费License

http://www.yayakq.cn/news/458339/

相关文章:

  • 赣州网上注册公司网站学习如何做网站
  • 哪个网站做h5好用广州做网站多少钱
  • 二级域名网站如何申请吗股票发行ipo和seo是什么意思
  • 服装微商城网站建设wordpress分页静态
  • 福田做网站如何让网站速度快
  • 暂时没有域名怎么做网站广州分销系统开发
  • 中小型网站建设多少钱网络销售怎么学
  • 网站上面关于我们要怎么填写腾讯企点怎么群发消息
  • 家居建材网站源码无锡做设计公司网站
  • 做网站要学些什么条件wordpress可视化建站
  • 营销式网站建设站酷网logo素材图库
  • 网站建设项目运营岗好听的工程公司名字
  • 实木餐桌椅网站建设公司为女人网上量体做衣网站
  • 福建百度seo排名点击软件新网$网站优化
  • 网站设计 珠海网站后台发了文章看不到
  • 模板建站和自助建站c2c模式的平台有哪些
  • 网站后台模板制作流程在线免费作图软件
  • 抖音网站建设的基本情况辽宁省建设工程信息网上不去
  • 网站建设中中文模板下载秦皇岛建设工程
  • 织梦网站模板免费wordpress 原创主题
  • 免费网站建设源码做网站辛苦吗
  • 宁夏手机网站建设贵州省住房和城乡建设厅官方网站首页
  • 如何开始做婚恋网站做网站需要招什么
  • 如何制作网站后台管理系统什么网站做贸易好
  • 常州网站搭建找哪家经济师考试时间2023报名时间
  • 企业网站优化工具网站开发税收标准
  • 黄冈网站建设价格网页模板素材大全
  • 站酷网址是什么单仁网站建设
  • 企业网站优化方式欧美网站模版
  • 网站开发慕枫爱做网站网址