-
2020-11-27 16:53:00
使用python-docx编辑一个docx文档时, 对添加的方法使用很多, 但有时候也会用到删除和修改
python-docx中并没有提供delete()方法, github上给出了解决方法:
https://github.com/python-openxml/python-docx/issues/33
def delete_paragraph(paragraph):
p = paragraph._element
p.getparent().remove(p)
# p._p = p._element = None
paragraph._p = paragraph._element = None
经试验, 此方法对删除段落,表格,标题, 图片都是管用的:
from docx import Document
docx = Document('word_file.docx')
def delete_docx_prefix_description(docx):
delete_paragraph(docx.tables[0]) # 删除word中第一个table
for p in docx.paragraphs:
delete_paragraph(p)
if ''.join(p.text.split(' ')).lower()=='header_keyword':
break
for p in docx.paragraphs:
if p.text.lower()=='': # 删除word中在开始部分的空白段落
delete_paragraph(p)
else:
break
更多相关内容 -
python实现删除空行
2019-03-13 13:07:34打开替换(ctrl+R),使用正则表达式(Regex): ^\s*\n 替换为: 不填 点击 replace all打开替换(ctrl+R),使用正则表达式(Regex):
^\s*\n
替换为:
不填
点击
replace all
-
Python中去除文件空行(strip)
2020-11-20 22:46:52原博文2013-10-10 13:09 −最近在看Python基础教程的第一个项目,第一步就是将文件划分为所谓的block块,然后依次进行处理。 而实例给出的两段代码并没有看出...相关推荐2017-11-29 22:10 −Python中有三个去除头尾...原博文
2013-10-10 13:09 −
最近在看Python基础教程的第一个项目,第一步就是将文件划分为所谓的block块,然后依次进行处理。 而实例给出的两段代码并没有看出直接的判断空行或者类似的代码,于是初步判断strip方法是可以去除空行的。 以下是一个测试,测试文件使用的是和书里一样的文本: 1 #...
相关推荐
2017-11-29 22:10 −
Python中有三个去除头尾字符、空白符的函数,它们依次为: strip: 用来去除头尾字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)lstrip:用来去除开头字符、空白符(包括\n、\r、\t、' ',即:换行、回车、制表符、空格)rstrip:用来去除结尾字符、空白符...
1
46509
2011-05-18 15:51 −
Python中的strip用于去除字符串的首尾字符,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符。 这三个函数都可传入一个参数,指定要去除的首尾字符。 需要注意的是,传入的是一个字符数组,编译器去除两端所有相应的字符,直到没有匹配的字符,比如: theString = 's...
2018-03-14 21:17 −
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。 空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。 ...
2018-06-24 19:39 −
Python中代码比较长时,想在Pycharm-console控制台或Python自带IDLE的Shell窗口查看代码执行结果,打印一些字符之类的,很多行之间没有换行影响查看效果,那么,Python中如何打印几行空格呢: 三种方式: 1.使用换行符"\n": 1 print "\n\n\n"
2...
0
22838
2017-07-29 22:20 −
问题: 过滤用户输入中前后多余的空白字符 ‘ ++++abc123--- ‘ 过滤某windows下编辑文本中的’\r’: ‘hello world...
6
180233
2018-06-02 15:14 −
Python中去除文件空行(strip) 最近在看Python基础教程的第一个项目,第一步就是将文件划分为所谓的block块,然后依次进行处理。 而实例给出的两段代码并没有看出直接的判断空行或者类似的代码,于是初步判断strip方法是可以去除空行的。 以下是一个测试,...
2016-04-10 20:16 −
今天在写登录程序练习的时候,黑名单文件中多了几行空行。导致运行的时候报错:IndexError: list index out of range 代码 brackData = open(brackDataPath,"r") for line in brackData: temp =...
2014-07-11 22:03 −
下面是我写的python的一个小脚本,作用是:判断文本中的用户名在数据库中是否存在,存在返回1,不存在返回0.用的是MySQL数据库。 要注意的是:strip函数的使用,该函数的作用是去除字符串两端多余的whitespace。 所以strip的作用肯定不是像书上说的去除字符串两端多余空格。 &n...
2010-08-11 11:43 −
一、去掉表格和格式 为了版面的整齐,网页文档都是以表格的形式存在的,只是一般情况下表格的颜色被设为无色或表格宽度被设为0,所以我们在网页上看不到表格。另外,网页文档中换行用的都是手动换行符,还有对字体等格式的设置。如果把从网页上复制的文字直接粘贴到Word中,那么它们也都粘贴进来了,这给重新排版带来...
2018-06-24 22:52 −
这几天做程序作业的时候需要用python的读取文件功能,在我用readlines()函数做逐行读取的时候遇到了一个小问题,在这里和大家分享一下。 txt文件里的内容是这样的: 1 1 2 2 3 3 4 4 5 5 代码也没什么问题: 1 with open('001.txt','...
-
Python docx 清除空行(保留图片)
2021-12-05 13:52:29网上清除空行的资料居然不多,出乎意料。... 清除word文档的空行 :param file: 文档 ''' doc = Document(file) for paragraph in doc.paragraphs: # 读取文档段落 if len(paragraph.text) == 0:网上清除空行的资料居然不多,出乎意料。不过好在找到一个答案:
def _delBlankLine( file): ''' 清除word文档的空行 :param file: 文档 ''' doc = Document(file) for paragraph in doc.paragraphs: # 读取文档段落 if len(paragraph.text) == 0: p = paragraph._element p.getparent().remove(p) p._p = p._element = None doc.save(file)
但是上面代码有问题,就是仅有图片的行也会被清除,因为图片也没有文字。
我很意外的是Python这么强大的工具居然没有判断图片的能力。。所以我只能自己研究:
我发现,如果真的是普通的空行,他的len(paragraph.runs)==0。而有图片的行len(paragraph.runs)>=1。然而实际情况比这更复杂:
有些肉眼看上去是空行的,他text可能是‘\n’
也有的text为空,但是paragraph.runs不为空。但是len(paragraph.runs)也会有限,目前只发现==1的情况,还没有发现==2的。
所以,这里提供一种思路,但不完全适用所有的场景。可以自己去debug比较,到底有哪些变量可以作为判断的依据:def _delBlankLine( file): ''' 清除word文档的空行 :param file: 文档 ''' doc = Document(file) for paragraph in doc.paragraphs: # 读取文档段落 if len(paragraph.text) == 0 and len(paragraph.runs) <= 1: p = paragraph._element p.getparent().remove(p) p._p = p._element = None doc.save(file)
我这个就根据特点,有图片的行至少有两张图片一起。所以我的len(paragraph.runs) >= 2。所以以上就可以解决我的问题。
还可以看看这篇文章对docx的解析:docx的解析
-
python-docx添加和删除表格行、列
2020-11-27 16:53:05在WORD中通过鼠标右键菜单“插入”按钮中的功能可以实现表格行列的添加,也可以通过“删除单元格”按钮中的删除单元格的功能实现表格行列的删除;当然还可以通过“布局”菜单中的删除和添加功能实现。鼠标右键插入... -
python如何添加空行
2020-11-30 02:22:14广告关闭腾讯云11.11云上盛惠...我试图写入csv文件,但中间有空行。 如何删除空白行? import csvb = open(test.csv, w)a = csv.writer(b)data = , ,]a.writerows(data)b.close()...代码如下: import fileinputdef ... -
使用python将文档当中的空行全部去掉
2018-04-02 09:28:59python学习当中的一个小应用最近要发布应用,然后需要黏贴代码,申请软件著作权,代码当中有好些的空行,不是很适合,然后就使用python写啦个简单的demo,使用python去掉当中的空行,不得不说代码真简洁。... -
python删除文件夹中所有txt文件空行,并转化为表格文件
2019-05-13 22:45:43背景:因为一个项目需要,要将一个文件夹中所有txt文件进行处理,删除空行和转化为表格用word和excel都能做,但一个文件夹中有几十上百个文件那就另当别论了,太过于耗时耗力,于是突发奇想用一个python程序解决。... -
Python操作Excel插入删除行的方法
2020-11-24 06:41:36开始写脚本之前查了很多资料,最开始采用了openpyxl这个模块,用起来很顺手,使用这个对A表格其中一列进行了重新填写,但是后来发现,需要用到删除和插入空白行的操作,使用openpyxl比较困难,这个模块仅支持在表格... -
如何使用python从字符串中删除字符
2021-03-18 08:16:50there is a string,for example。EXAMPLE。...我想知道:P></Python中的字符串给端在任何特殊字符?which is a better left to right就是这样- shifting starting from the creation of charac... -
Python 引号Python注释Python空行
2021-01-29 13:03:44Python 引号Python 可以使用引号(')、双引号(")、三引号('''或""") 来表示字符串,引号的开始与结束必须的...word = 'word'sentence = "这是一个句子。"paragraph = """这是一个段落。包含了多个语句"""Python注释... -
Java 批量删除Word中的空白段落
2020-12-28 19:03:32Java 批量删除Word中的空白段落1. 测试文档、期望达到的目标文档效果用于测试的Word文档如下所示,包含的空白段落影响文章整体布局及美观性:目标文档效果:2.辅助工具2.1 使用类库:Free Spire.Doc for Java(免费版... -
Python提取Word文件中的目录标题保存为Excel文件
2021-03-09 15:31:37Python提取Word文件中的目录标题内容保存为Excel文件 -
python-docx删除段落(含回车符)v202111211833
2021-11-21 18:34:01"""python-docx删除段落(含回车符)v202111211833 工作中需要把微信收藏文章复制到docx(仅保留文本),会出现空行及 不需要的单行,于是试写了如次代码。 """ import pathlib from docx import Document docx = ... -
python自动生成word报告 | 如何将现有的数据利用python 填入word的表格中?
2020-11-22 17:58:49你把完整的连接代码贴一下如何将现有的数据利用python 填入word的表格中?VB,VBA我会,py不会哦DB2教程推荐,新手想学习这个数据库?DB2是一款使用广泛的数据库,但目前网上却没有系统的教程资源,都是一些零散的资源... -
python docx 合并文档 图片_Python合并word文档制作电子书
2020-11-20 20:25:30需求: 将某大V公众号文章全部下载,整理成合集,并整理成电子书... 截止今日(20200602)共获取到 1278 个 Word 文档二、合并多个word文档为一个文档 以前是 Word 中添加对象中文字合并的,但效率比较低下,一次只... -
python自动化办公——python操作Excel、Word、PDF集合大全
2020-05-10 09:15:17Python操作Word、Excel、PPT、PDF\、复杂文件、通信软件(微信、邮件、飞书、钉钉)、图片 目录 章节一:python使用openpyxl操作excel 1、openpyxl库介绍 2、python怎么打开及读取表格内容? ... -
python操作word,excel,pdf.pdf
2021-11-22 23:29:51python操作word,excel,pdf -
python对word文档(.doc和.docx)读取、修改操作
2022-06-29 12:25:33python读取word文字 -
python-docx删除段落(含回车符)v202111221750
2021-11-22 17:50:49"""python-docx删除段落(含回车符)v202111221750 工作中需要把微信收藏文章复制到docx(仅保留文本),会出现空行及 不需要的单行,于是试写了如次代码。 """ import pathlib from docx import Document from docx... -
python简单去除文档内的空行
2018-08-01 12:35:03python程序去除文档中的空行 内容简介: 在某些特定的情况下我们的文档都是需要进行删除空行的。人为手动的一行一行删除不但耗时长,而且还容易漏掉。当文档中的行数过多或是文档数据太过庞大时,人为手动进行... -
python读取txt文件,去掉空格计算每行长度的方法
2020-11-21 03:25:04python读取txt文件,去掉空格计算每行长度的方法更新时间:2018年12月20日 12:19:24 作者:weixin_39012047今天小编就为大家分享一篇python读取txt文件,去掉空格计算每行长度的方法,具有很好的参考价值,希望对大家... -
删除空行.zip
2019-08-08 15:20:54用Python编写删除文档的空行,简单实用的小应用。数据处理中可以用到 -
如何删除word 空行后提取指定文字作为文件名
2022-04-12 21:19:24现有若干文件是第4和第8行之间是空行,15-16行之间也有空行,需要完全删除他们之间的空行; 删除空行之后需要提取文件第4行第8-13的文字+第21行的第7个文字起直到这行结束的文字 组合成为文件名称 -
python读取文件时出现多行空行或者空格的解决办法-Go语言中文社区
2020-12-24 23:50:25问题描述:文件tesxt.txt内容,如下,按行读取文件后,打印到控制台出现多个空行的问题。使用部分代码:#代码1with open('test.txt','r') as f:lines = f.readlines()for line in lines:print(line)f.close()#代码2.... -
一款可以删除word或者txt文档中多余空白行好软件
2011-04-19 23:02:57操作简单,精心收集的可删除word或者txt文档中多余空白行好软件,仅供给对word存在很多空白行又懒得一个个去删除的网友一个非常好用的软件,希望大家喜欢。 -
python自动化办公手册.pdf
2022-01-09 15:07:44python自动化办公手册pdf ,更多Pyhon自动化学习可参考我的这篇文章:https://blog.csdn.net/qq_36816848/article/details/118077191 -
python读写word、excel、csv、json文件
2015-12-21 01:14:58python读写word文档 (include wps) 将word文档转换成txt文档 def doc2txt(): ''' 将doc文档转换成txt文档 :return: ''' from win32com import client INPUT_DIR = r'C:\Users\pi\Desktop\New folder' -
Python docx 删除、复制paragraph以及行高设置和图片插入
2021-11-23 10:57:121、复制paragraph 2、删除paragraph 3、插入图片和paragraph行高设置 -
python docx修改word内容保留图片
2019-03-22 18:00:05修改word中文本,如下代码,保存时会导致word中的部分图片消失 from docx import Document path1 = 'test_in.docx' path2 = 'test_out.docx' file = docx.Document(path1) for parg in file.paragraphs: if ...