“最后使用Python修改xlsx的”(用户名,而不是时间)属性

时间:2016-10-09 14:08:32

标签: python excel xlsx python-docx

我需要能够使用Python查看xlsx文件的“last modified by”属性。我已经能够为docx文件做了,并且希望该体系结构足够类似于在其他Office应用程序上使用,但遗憾的是没有。有没有人知道xlsx的类似模块?

这是使用python-docx查看字段的脚本:

from docx import Document
import docx

document = Document('mine.docx')
core_properties = document.core_properties
print(core_properties.last_modified_by)

我在这里使用Python 3.4和docx 0.8.6。

3 个答案:

答案 0 :(得分:1)

对于.xlsx个文件,您可以使用此方法(将filename设置为.xlsx文件的名称):

import xml.etree.ElementTree
import xml.etree.cElementTree as ET
import zipfile

corePropNS = '{http://schemas.openxmlformats.org/package/2006/metadata/core-properties}'

zf = zipfile.ZipFile(filename, 'r')
part = zf.open('docProps/core.xml', 'r')
tree = ET.XML(part.read())
lastModifiedBy = tree.find(corePropNS+'lastModifiedBy').text

print(lastModifiedBy)

我还没有测试过,但我希望相同的代码也能用于其他OOXML文件(例如.docx

答案 1 :(得分:0)

import os
filename = "C:\\test.xlsx"
statsbuf = os.stat(filename)
print "modified:",statsbuf.st_mtime 



f = os.path.getmtime('C:\\test.xlsx')
print f

从一开始

答案 2 :(得分:0)

对不起,我来晚了,但这就是我要工作的地方。

    import xlrd
    wb = xlrd.open_workbook(a_file)
    worksheet =  wb.sheet_by_index(0)
    mod_by = worksheet.book.props['last_modified_by']