【技术类-03】python实现docx表格文字的“手动换行符(软回车)”变成“段落标记(硬回车)”

本文主要是介绍【技术类-03】python实现docx表格文字的“手动换行符(软回车)”变成“段落标记(硬回车)”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作品展示——docx表格内的手动换行符更改硬回车

背景需求:

这篇成功把docx文本段落(无表格)中的“手动换行符(软回车)”变成“段落标记(硬回车)。

【技术类-02】python实现docx段落文字的“手动换行符(软回车)”变成“段落标记(硬回车)”-CSDN博客文章浏览阅读26次。【技术类-02】python实现docx段落文字的“手动换行符(软回车)”变成“段落标记(硬回车)”https://blog.csdn.net/reasonsummer/article/details/136750032

但是我的19篇周计划docx里的所有手动换行符都是在docx表格里

所以我在原有代码基础上,重新生成了——python实现docx表格文字的“手动换行符(软回车)”变成“段落标记(硬回车)”

运行前

代码展示:


'''
了解在Python里,docx的手动换行符,段落标记用什么符号表示(docx段落)
作者:AI 对话大师、百度AI对话
时间:2024年3月15日
'''from docx import Document# 读取Word文档
doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\测试word换行符\123.docx')# 初始化换行符计数器
soft_newline_count = 0
hard_newline_count = 0# 遍历文档中的每个段落
for paragraph in doc.paragraphs:for run in paragraph.runs:# 统计每个文本运行中软回车(换行符)的数量soft_newline_count += run.text.count("\n")# 每个段落结束都有一个硬回车(段落标记)hard_newline_count += 1# 遍历文档中的所有表格
for table in doc.tables:for row in table.rows:for cell in row.cells:for run in cell.paragraphs[0].runs:# 统计表格单元格中软回车(换行符)的数量soft_newline_count += run.text.count("\n")# 表格单元格中的文本也被视为一个段落,所以也有硬回车hard_newline_count += 1print(f"Word 文档中共有 {soft_newline_count} 个 '\\n' 手动换行符(软回车)。")
print(f"Word 文档中共有 {hard_newline_count} 个 <w:p> 段落标记(硬回车)。")'''
word表格文字里的手动换行符变成段落标记 (docx表格)
作者:AI对话大师、百度AI对话
时间:2024年3月15日
'''
from docx import Document
from docx.shared import Pt# 打开 Word 文档
doc = Document(r'C:\Users\jg2yXRZ\OneDrive\桌面\测试word换行符\123.docx')# 用于保存要删除的单元格
cells_to_delete = []# 遍历文档中的所有表格
for table in doc.tables:for row in table.rows:for cell in row.cells:# 查找单元格中的软回车(\n)if '\n' in cell.text:# 分割单元格文本,找到软回车的位置texts = cell.text.split('\n')# 清空原始单元格文本cell.text = texts[0]# 在软回车的位置插入新的段落for text in texts[1:]:new_paragraph = cell.add_paragraph(text)new_paragraph.style = cell.paragraphs[0].style  # 保留原始样式# 删除原来的单元格文本中的软回车
for cell in cells_to_delete:cell.text = cell.text.replace('\n', '')doc.save(r'C:\Users\jg2yXRZ\OneDrive\桌面\测试word换行符\234.docx')

终端显示:

运行后:

思考:

Python的替换与word直接批量查找替换不同,

1、word可以对全文中段落和表格中的手动换行符全部替换

2、以上Python代码(只涉及table)只能对word表格文字中的手动换行符进行删除和重新写入段落,从而获得段落标记回车符

其他测试

把手动换行符与段落标记的位置换一下,看看结果是否有误差。

它只分析了表格里的2个手动换行符号,和2个段落标记

表格里的软回车数量有误差,但是最后234里的表格内段落都是硬回车了。再研究原因

这篇关于【技术类-03】python实现docx表格文字的“手动换行符(软回车)”变成“段落标记(硬回车)”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/814866

相关文章

详解如何通过Python批量转换图片为PDF

《详解如何通过Python批量转换图片为PDF》:本文主要介绍如何基于Python+Tkinter开发的图片批量转PDF工具,可以支持批量添加图片,拖拽等操作,感兴趣的小伙伴可以参考一下... 目录1. 概述2. 功能亮点2.1 主要功能2.2 界面设计3. 使用指南3.1 运行环境3.2 使用步骤4. 核

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多

使用Python自建轻量级的HTTP调试工具

《使用Python自建轻量级的HTTP调试工具》这篇文章主要为大家详细介绍了如何使用Python自建一个轻量级的HTTP调试工具,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录一、为什么需要自建工具二、核心功能设计三、技术选型四、分步实现五、进阶优化技巧六、使用示例七、性能对比八、扩展方向建

Redis分片集群的实现

《Redis分片集群的实现》Redis分片集群是一种将Redis数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性,本文主要介绍了Redis分片集群的实现,具有一定的参考价值,感兴趣的可以了解一... 目录1. Redis Cluster的核心概念哈希槽(Hash Slots)主从复制与故障转移2.

springboot+dubbo实现时间轮算法

《springboot+dubbo实现时间轮算法》时间轮是一种高效利用线程资源进行批量化调度的算法,本文主要介绍了springboot+dubbo实现时间轮算法,文中通过示例代码介绍的非常详细,对大家... 目录前言一、参数说明二、具体实现1、HashedwheelTimer2、createWheel3、n

基于Python打造一个可视化FTP服务器

《基于Python打造一个可视化FTP服务器》在日常办公和团队协作中,文件共享是一个不可或缺的需求,所以本文将使用Python+Tkinter+pyftpdlib开发一款可视化FTP服务器,有需要的小... 目录1. 概述2. 功能介绍3. 如何使用4. 代码解析5. 运行效果6.相关源码7. 总结与展望1

使用Python实现一键隐藏屏幕并锁定输入

《使用Python实现一键隐藏屏幕并锁定输入》本文主要介绍了使用Python编写一个一键隐藏屏幕并锁定输入的黑科技程序,能够在指定热键触发后立即遮挡屏幕,并禁止一切键盘鼠标输入,这样就再也不用担心自己... 目录1. 概述2. 功能亮点3.代码实现4.使用方法5. 展示效果6. 代码优化与拓展7. 总结1.

Mybatis 传参与排序模糊查询功能实现

《Mybatis传参与排序模糊查询功能实现》:本文主要介绍Mybatis传参与排序模糊查询功能实现,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、#{ }和${ }传参的区别二、排序三、like查询四、数据库连接池五、mysql 开发企业规范一、#{ }和${ }传参的

使用Python开发一个简单的本地图片服务器

《使用Python开发一个简单的本地图片服务器》本文介绍了如何结合wxPython构建的图形用户界面GUI和Python内建的Web服务器功能,在本地网络中搭建一个私人的,即开即用的网页相册,文中的示... 目录项目目标核心技术栈代码深度解析完整代码工作流程主要功能与优势潜在改进与思考运行结果总结你是否曾经