Doc
python-docx
justdopython - Word 神器 python-docx
利用python读取WORD文档中的创建者信息
主要有两种方法:
- 每个WORD文档实际上就是一个压缩包,这些信息是放在压缩包中的core.xml的文件里面的。通过读取这个文件,即可以获得上述信息;
直接利用python-docx来进行WORD的操作,实现对这些信息的提取。
代码
```python def get_wordinfo(document):
core_properties = document.core_propertiesprint(‘作者:’, core_properties.author) print(‘创建时间’, core_properties.created) print(core_properties.last_modified_by) print(core_properties.last_printed) print(core_properties.modified) print(core_properties.revision) print(core_properties.title) print(core_properties.category) print(core_properties.comments) print(core_properties.identifier) print(core_properties.keywords) print(core_properties.language) print(core_properties.subject) print(core_properties.version) print(core_properties.keywords) print(core_properties.content_status) return {‘作者’:core_properties.author,’创建时间’:core_properties.created.value,’修改人’:core_properties.last_modified_by,
'最后打印时间':core_properties.last_printed.value,'最后修改时间':core_properties.modified.value}
<a name="lBPBr"></a>
### 运行结果
```python
{'作者': 'Administrator', '创建时间': '2018-08-24 03:41:00', '修改人': '778514434@qq.com', '最后打印时间': '2018-10-15 05:57:00', '最后修改时间': '2020-06-20 01:58:00'}
Excel
zipfile+docProps/core.xml
利用python读取EXCEL文档中的创建者信息
文件创建者信息提取是文件拷贝检测的一个重要维度信息,前面WORD文档的创建者信息可以通过成熟的python-docx库来进行提取,而EXCEL文件的属性信息,存在docProps/core.xml的目录。
core.xml文件打开的效果如下:
因此,可以采用读取压缩包中文件的方式来进行信息的抽取,对应的python代码如下:
def get_excel_author(excel_file):
# open zipfile
zf = zipfile.ZipFile(excel_file)
# use lxml to parse the xml file we are interested in
doc = lxml.etree.fromstring(zf.read('docProps/core.xml'))
attr_nodes = doc.getchildren()
# retrieve creator
#ns={'dc': 'http://purl.org/dc/elements/1.1/'}
# creator = doc.xpath('//dc:creator', namespaces=ns)[0].text
return {'作者':attr_nodes[0].text,'创建时间':attr_nodes[2].text,'修改人':attr_nodes[1].text,
'最后修改时间':attr_nodes[3].text}
doc(x)文档同样可以使用此方式