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

网站手机版模板免费下载北京网站的制作设计

网站手机版模板免费下载,北京网站的制作设计,dw网页制作成品下载,黄页88推广效果怎么样引言RAG数据简介PDF解析方法及工具代码实现总结 二、正文内容 引言 本文将介绍如何将RAG数据拆分至PDF格式#xff0c;并探讨PDF解析的方法和工具#xff0c;最后提供代码示例。 RAG数据简介 RAG#xff08;关系型属性图#xff09;是一种用于表示实体及其关系的图数据…引言RAG数据简介PDF解析方法及工具代码实现总结 二、正文内容 引言 本文将介绍如何将RAG数据拆分至PDF格式并探讨PDF解析的方法和工具最后提供代码示例。 RAG数据简介 RAG关系型属性图是一种用于表示实体及其关系的图数据结构。在RAG中节点表示实体边表示实体之间的关系属性则用于描述实体和边的特征。 PDF解析方法及工具 1PDF解析方法 DOM解析将PDF文档转换为树形结构便于操作和遍历。SAX解析基于事件驱动适用于处理大型PDF文档。 2PDF解析工具 PyPDF2一个Python库用于读取、分割、合并PDF文件。PDFMiner一个强大的PDF解析库支持提取文本、图片等元素。pdfplumber一个专注于文本提取的PDF解析库。 代码实现 以下是一个使用PyPDF2将RAG数据拆分至PDF的示例代码 import PyPDF2# 读取PDF文件 with open(source.pdf, rb) as file:reader PyPDF2.PdfFileReader(file)num_pages reader.numPages# 遍历每一页for page_num in range(num_pages):page reader.getPage(page_num)text page.extractText()# 拆分RAG数据# 假设RAG数据以特定格式存储例如实体1-关系-实体2entities text.split(-)# 创建新的PDF文件pdf_writer PyPDF2.PdfFileWriter()pdf_writer.addPage(page)with open(foutput/page_{page_num 1}.pdf, wb) as output_file:pdf_writer.write(output_file)print(PDF文件拆分完成)解析表格 def extract_continuous_tables(pdf, start_page_num):从指定页开始提取连续的表格内容:param pdf: PDF文档对象:param start_page_num: 开始页码:return: 包含处理页码和表格文本的字典continuous_tables [] # 存储连续表格内容processed_pages [] # 存储处理过的页码current_page_num start_page_num# 添加起始页processed_pages.append(current_page_num)while current_page_num len(pdf.pages):current_page pdf.pages[current_page_num]current_page remove_header_footer(current_page)# 提取当前页的表格current_tables current_page.extract_tables()if current_tables:# 将当前页的表格添加到结果中continuous_tables.extend(current_tables)# 检查是否还有下一页if current_page_num 1 len(pdf.pages):break# 获取下一页内容next_page pdf.pages[current_page_num 1]next_page remove_header_footer(next_page)# 提取下一页的内容next_page_tables next_page.extract_tables()next_page_words next_page.extract_words(keep_blank_charsTrue, extra_attrs[fontname, size])# 过滤页眉页脚header_height 50footer_height 50def is_header_content(word):text word[text].lower()# 位置检查if word[top] header_height or word[top] (next_page.height - footer_height):return True# 电话号码模式phone_patterns [rtel[\s:]*[\d\-/],r电话[\s:]*[\d\-/],r传真[\s:]*[\d\-/],rfax[\s:]*[\d\-/],r\d{2,4}[\-/]\d{4,8}, # 匹配常见电话号码格式]# 使用正则表达式匹配import reif any(re.search(pattern, text, re.IGNORECASE) for pattern in phone_patterns):return True# 页眉特征检查header_features [# 位置特征word[top] header_height * 1.2, # 稍微放宽高度限制word[size] 10, # 字体较小# 内容特征any(pattern in text for pattern in [页码, 第, 页, page,copyright, 版权所有,机密, 保密,草稿, draft,文档编号, doc,日期, date]),# 格式特征bool(re.match(r.*\d.*页, text)), # 包含页码bool(re.match(r.*\d{4}[-/]\d{1,2}[-/]\d{1,2}, text)), # 日期格式]return any(header_features)# 过滤词filtered_words [word for word in next_page_wordsif not is_header_content(word)]# 如果需要还可以按垂直位置排序filtered_words.sort(keylambda x: x[top])# 判断下一页是否以表格开始starts_with_table Falseif filtered_words and next_page_tables: # 确保有文字和表格try:if next_page_tables[0] and next_page_tables[0][0]: # 确保表格有内容# 获取第一个表格的位置first_table next_page.find_tables()[0]if first_table:first_table_top first_table.bbox[1]# 获取第一个文字的位置first_word_top filtered_words[0][top]# 如果表格在文字之前则认为页面以表格开始if first_table_top first_word_top:starts_with_table Trueexcept (IndexError, AttributeError):starts_with_table Falseif not starts_with_table:# 如果下一页不是以表格开始则结束提取break# 继续处理下一页current_page_num 1processed_pages.append(current_page_num)# 将表格转换为文本table_texts []for table in continuous_tables:if table:table_text []for row in table:# 过滤None和空字符串并确保所有值都转换为字符串row_text []for cell in row:if cell is not None and str(cell).strip():cell_str str(cell).strip().replace(\n, )# if cell_str: # 只添加非空字符串row_text.append(cell_str)else:row_text.append( ) # 将None转换为空字符串if row_text: # 只添加非空行table_text.append(##.join(row_text))filtered_table_text [row for row in table_text if ## in row]if filtered_table_text:table_texts.append(\n.join(filtered_table_text))# 返回包含页码列表和表格文本的字典result {processed_pages: processed_pages,table_text: \n\n.join(table_texts) if table_texts else }return result 1.pdfplumber https://blog.csdn.net/fuhanghang/article/details/122579548 1 pdfplumber的主要类和方法 pdfplumber对于表格的提取 参考https://github.com/jsvine/pdfplumber/blob/stable/examples/notebooks/extract-table-ca-warn-report.ipynb 1 代码 pdf pdfplumber.open(../pdfs/ca-warn-report.pdf) p0pdf.pages[0] im p0.to_image()  #display 第一页 table p0.extract_table() 抽取其中最大的表格import pandas as pd df pd.DataFrame(table[1:], columnstable[0]) for column in [Effective, Received]:df[column] df[column].str.replace( , )  使用panda来吧table抽取到的数据转成dataFrame格式 总结 本文介绍了RAG数据拆分至PDF的方法和工具并通过代码示例展示了如何使用PyPDF2进行PDF文件拆分。在实际应用中可根据需求选择合适的解析方法和工具。 希望这个分享笔记大纲和代码示例能帮助你完成你的分享笔记。在实际编写过程中可以根据具体需求进行调整和优化。
http://www.hkea.cn/news/14307492/

相关文章:

  • 河北区网站建设怎么做跳转流量网站
  • 免版权图片网站门户网站安全建设
  • 服装网站建设的宗旨有哪些公司邮箱怎么在手机上登录
  • 网站建设好学么skype在网站上怎么做链接
  • 长沙有哪些做网站的公司清空wordpress多媒体
  • 茂名营销型网站建设豆瓣 wordpress
  • 越城网站建设公司平面设计公司有哪些
  • 提供手机自适应网站建设无锡公司建立网站
  • 网站商城建设网站快捷按钮以什么方式做
  • 个人学做网站高安高端网站设计公司
  • 手机网站建设定制重庆景点图片
  • 网站有什么作用网站怎么创建内容
  • 网站申请备案流程微信报名小程序怎么制作
  • 网站 备案 多久WordPress 自动缩律图
  • 河北保定网站建设公司网站素材
  • 内蒙古建设厅网站查询网站左侧导航源码
  • 河北省网站建设公司排名电商平台建设内容
  • 网站优化具体做哪些事情公司做完网站怎么搜不到
  • 单页网站建站wordpress英文
  • 企业网站建设问卷网站注册域名 免费
  • 网站转发我要建设一个网站
  • asp网站开发环境搭建扬州建设机械网站
  • 做新零售这些注册网站和找货源中信建设有限责任公司历任董事长
  • 做百度网站电话号码彭州建设局网站
  • 网站上传百度多久收录撰写网站专题活动策划方案
  • 网站负责人核验照片如何建设小说网站并且盈利
  • 简速做网站工作室市场监督管理局不处理问题怎么办
  • 专业seo整站优化大丰建站
  • 有什么网站可以做微信appapp和网站开发
  • 正规的徐州网站开发画册设计公司宣传册