如何在python中检索office文件的作者?

Umu*_*acı 5 python ms-office

标题解释了问题,有文档和文档文件,我想要检索他们的作者信息,以便我可以重组我的文件.

os.stat仅返回大小和日期时间,实际文件相关信息.
open(filename, 'rb').read(200)返回许多我无法解析的字符.

有一个模块叫做xlrd读取xlsx文件.然而,这仍然不允许我阅读docdocx文件.我知道新的办公室文件不容易在non-msoffice程序上阅读,所以如果这是不可能的,从旧办公室文件收集信息就足够了.

zee*_*kay 6

由于docx文件只是压缩的XML,您只需解压缩docx文件,并可能将作者信息从XML文件中提取出来.不太确定它存储在哪里,只是环顾四周会让我怀疑它存储dc:creator在里面docProps/core.xml.

以下是打开docx文件并检索创建者的方法:

import zipfile, lxml.etree

# open zipfile
zf = zipfile.ZipFile('my_doc.docx')
# use lxml to parse the xml file we are interested in
doc = lxml.etree.fromstring(zf.read('docProps/core.xml'))
# retrieve creator
ns={'dc': 'http://purl.org/dc/elements/1.1/'}
creator = doc.xpath('//dc:creator', namespaces=ns)[0].text
Run Code Online (Sandbox Code Playgroud)