如何从python docx中删除粗体字
我有一个docx,我需要使用spaCy进行预处理。我需要删除文档中以粗体显示的所有单词 我尝试了以下方法:如何从python docx中删除粗体字,python,python-docx,Python,Python Docx,我有一个docx,我需要使用spaCy进行预处理。我需要删除文档中以粗体显示的所有单词 我尝试了以下方法: def delete_paragraph(paragraph): p = paragraph._element p.getparent().remove(p) p._p = p._element = None length = len(document.paragraphs) for i in range(0,length): for j in range(0,len(docume
def delete_paragraph(paragraph):
p = paragraph._element
p.getparent().remove(p)
p._p = p._element = None
length = len(document.paragraphs)
for i in range(0,length):
for j in range(0,len(document.paragraphs[i].runs)):
if document.paragraphs[i].runs[j].bold == True:
delete_paragraph(document.paragraphs[i])
length = length-1
continue
document.save("/home/nikita/Desktop/Internship/new topic_mod/AXIS new.docx")
但我得到了以下错误:
IndexError: Traceback (most recent call last)
<ipython-input-12-d144bd42e95e> in <module>()
3 #print(document.paragraphs[i].text)
4 for j in range(0,len(document.paragraphs[i].runs)):
----> 5 if document.paragraphs[i].runs[j].bold == True:
6 delete_paragraph(document.paragraphs[i])
7 length = length-1
IndexError: list index out of range
索引器错误:回溯(最近一次调用)
在()
3#打印(文件.段落[i].文本)
对于范围(0,len(document.段落[i].运行))内的j,为4:
---->5如果document.parations[i]运行[j]。粗体==True:
6删除第段(文件第[i]段)
7长度=长度-1
索引器:列表索引超出范围
我不明白为什么它超出了范围。
如何从python docx中删除粗体字
请帮忙 可能有两个原因:
continue
)内部循环,否则,如果同一段落有多个粗体段,您将尝试多次删除该段落
for j in range(0,len(document.paragraphs[i].runs)):
if document.paragraphs[i].runs[j].bold == True:
delete_paragraph(document.paragraphs[i])
length = length-1
break
for paragraph in reversed(list(document.paragraphs)):
for run in paragraph.runs:
if run.bold:
delete_paragraph(paragraph)
break
欢迎来到Stack Exchange Kiera。如果答案回答了你的问题,不要忘记接受它。这就是回答者花时间回答你的问题的方式:)谢谢:)我确实接受了你的回答(多次),但由于我在这里相对较新,仍在学习,我没有所需的声誉。因此,当我接受它时,它会说:“谢谢你的反馈。那些声誉低于15的人所投的票会被记录下来,但不会改变公开显示的帖子分数”:(:(复选标记图标是用于接受的图标。箭头键上下投票,不会立即激活:)哦,我不知道!谢谢:)