首页 > 解决方案 > 当我在 python 中保存 docx 文件时,数据被损坏

问题描述

我可以毫无问题地编辑和保存 txt,但是当我保存 docx 文件时,数据会损坏。喜欢这里的图片:错误图片有什么建议可以正确保存 docx 吗?谢谢。

    def save(self,MainWindow):
        if self.docURL == "" or self.docURL.split(".")[-1] == "txt":
            text = self.textEdit_3.toPlainText()
            file = open(self.docURL[:-4]+"_EDITED.txt","w+")
            file.write(text)
            file.close()
        elif self.docURL == "" or self.docURL.split(".")[-1] == "docx":
            text = self.textEdit_3.toPlainText()
            file = open(self.docURL[:-4] + "_EDITED.docx", "w+")
            file.write(text)
            file.close()

标签: pythonpython-docx

解决方案


.docx文件不仅仅是文本 - 它们实际上是具有非常特定格式的 XML 文件的集合。要轻松读/写它们,您需要该python-docx模块。要调整您的代码:

from docx import Document

...

elif self.docURL == "" or self.docURL.split(".")[-1] == "docx":
    text = self.textEdit_3.toPlainText()
    doc = Document()
    paragraph = doc.add_paragraph(text)
    doc.save(self.docURL[:-4] + "_EDITED.docx"

一切就绪。您可以在文本格式、插入图像和形状、创建表格等方面更多的事情,但这会让您继续前进。我链接到上面的文档。


推荐阅读