使用Python从Word文档中提取XML的困难

时间:2014-12-14 16:47:09

标签: python xml docx

我尝试使用this网页上的代码从Python文档中提取XML。

我首先创建了一个名为test.docx的测试文档。然后我运行了以下代码:

import zipfile
from lxml import etree

def getXml(docxFilename):
    zip = zipfile.ZipFile(open(docxFilename))
    xmlContent = zip.read("word/document.xml")
    return xmlContent

def getXmlTree(xmlContent):
    return etree.fromstring(xmlContent)

testXml = getXml("test.docx")
print(getXmlTree(testXml))

运行此代码会产生错误消息"文件不是zip文件"。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您需要将 docx 文件的路径作为参数传递,而不是特别是 docx 文件。 压缩文件并将路径设为zip格式

例如: "D:/Users/John/docs/data.zip"