问题描述
我对此真的很陌生,所以请保持温柔。我一直在找几个小时来解决这个问题。本质上,我试图打开Word文档,在我放入的一个非常简单的表中找到“ X”字符,然后将其更新为用户输入的内容。我在这里所做的最后一件事是将此函数命名并调用它,以查看是否可以解决我认为遇到的一些问题,以正确捕获用户的输入。看起来像下面的IDLE。我正在尝试用卷心菜代替X,所以这是下面显示的内容。问题是,运行此命令后,我打开了word文档(现在是第N次),并且它没有更新为说“白菜”。我在这里可能做错了什么?我没有收到任何错误消息。我已经试过了没有函数和函数调用的情况,但是没有:
@H_404_2@>>> import os
>>> from docx import Document
>>> import docx
>>> doc=Document('Temp.docx')
>>> def tupdate(rep):
for table in doc.tables:
for col in table.columns:
for cell in col.cells:
for p in cell.paragraphs:
if 'X' in p.text:
p.text.replace("X",rep)
>>> rep = input()
Cabbage
>>> tupdate(rep)
>>> doc.save('Temp.docx')
任何帮助将不胜感激。我正在Windows上使用最新版本的python。
谢谢。
解决方法
p.text.replace("X",rep)
不进行就地替换。
我已经测试了下面的代码,并且能够用Zs替换Xs。
import os
from docx import Document
doc = Document('Temp.docx')
rep = 'Z' # input()
for table in doc.tables:
for col in table.columns:
for cell in col.cells:
for p in cell.paragraphs:
if 'X' in p.text:
p.text = p.text.replace("X",rep)
doc.save('Temp.docx')