从python中的txt文件写入docx文件
我一直在尝试编写python代码,用从互联网上获取的数据填充word表单。我将数据写在一个txt文件中,现在正试图用以下代码填充word文件:从python中的txt文件写入docx文件,python,utf-8,docx,Python,Utf 8,Docx,我一直在尝试编写python代码,用从互联网上获取的数据填充word表单。我将数据写在一个txt文件中,现在正试图用以下代码填充word文件: import zipfile import os import tempfile import shutil import codecs def getXml(docxFilename,ReplaceText): zip = zipfile.ZipFile(open(docxFilename,"rb")) xmlString= zi
import zipfile
import os
import tempfile
import shutil
import codecs
def getXml(docxFilename,ReplaceText):
zip = zipfile.ZipFile(open(docxFilename,"rb"))
xmlString= zip.read("word/document.xml")
for key in ReplaceText.keys():
xmlString = xmlString.replace(str(key), str(ReplaceText.get(key)))
return xmlString
def createNewDocx(originalDocx,xmlString,newFilename):
tmpDir = tempfile.mkdtemp()
zip = zipfile.ZipFile(open(originalDocx,"rb"))
zip.extractall(tmpDir)
#3tmpDir=tmpDir.decode("utf-8")
with open(os.path.join(tmpDir,"word/document.xml"),"w") as f:
f.write(xmlString)
filenames = zip.namelist()
zipCopyFilename = newFilename
with zipfile.ZipFile(zipCopyFilename,"w") as docx:
for filename in filenames:
docx.write(os.path.join(tmpDir,filename),filename)
shutil.rmtree(tmpDir)
f=open('test.txt', 'r',)
text=f.read().split("\n")
print text[1]
Pavarde = text[1]
Replace = {"PAVARDE1":Pavarde}
createNewDocx("test.docx",getXml("test.docx",Replace),"test2.docx")
文件已创建,但我无法打开它
我得到以下错误:
Illegal xlm character
我的猜测是编码有问题,但我找不到解决办法