Doc

python-docx

justdopython - Word 神器 python-docx

利用python读取WORD文档中的创建者信息

主要有两种方法:

  1. 每个WORD文档实际上就是一个压缩包,这些信息是放在压缩包中的core.xml的文件里面的。通过读取这个文件,即可以获得上述信息;
  2. 直接利用python-docx来进行WORD的操作,实现对这些信息的提取。

    代码

    ```python def get_wordinfo(document):
    core_properties = document.core_properties

    print(‘作者:’, 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,

    1. '最后打印时间':core_properties.last_printed.value,'最后修改时间':core_properties.modified.value}
  1. <a name="lBPBr"></a>
  2. ### 运行结果
  3. ```python
  4. {'作者': '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文件打开的效果如下:
image.png
因此,可以采用读取压缩包中文件的方式来进行信息的抽取,对应的python代码如下:

  1. def get_excel_author(excel_file):
  2. # open zipfile
  3. zf = zipfile.ZipFile(excel_file)
  4. # use lxml to parse the xml file we are interested in
  5. doc = lxml.etree.fromstring(zf.read('docProps/core.xml'))
  6. attr_nodes = doc.getchildren()
  7. # retrieve creator
  8. #ns={'dc': 'http://purl.org/dc/elements/1.1/'}
  9. # creator = doc.xpath('//dc:creator', namespaces=ns)[0].text
  10. return {'作者':attr_nodes[0].text,'创建时间':attr_nodes[2].text,'修改人':attr_nodes[1].text,
  11. '最后修改时间':attr_nodes[3].text}

doc(x)文档同样可以使用此方式