2016-10-09 23 views
0

我需要能够使用Python查看xlsx文件的“最后修改者”属性。我已经能够为docx文件做些什么,并希望这种架构足够类似于其他Office应用程序,但不幸的是没有。有人知道xlsx有类似的模块吗?使用Python“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在这里。

+0

只是为了重申:通过“最后修改者”我正在寻找一个用户名,n没有时间。 :) – YesIAmThatGuy

+0

http://stackoverflow.com/a/7021492/293494中提供的方法可能适用于.xlsx文件。 – mkj

+0

谢谢mkj,看起来很有趣。我会看一看,让你知道我是怎么开始的。 – YesIAmThatGuy

回答

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 

自年初以来

+0

感谢这篇文章,这是为了找到修改时间,而不是最后一次修改的用户。设置为Python 2而不是3 – YesIAmThatGuy

+0

在python 3中工作,据我所知。您正在寻找一个* *。抱歉误读您的消息 – rafalf

+0

没关系,我的问题的标题可能不那么明确可能已经,所以我现在已经改变了它。对于3,你需要围绕打印功能的括号。:) – YesIAmThatGuy

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) 

,但我'd期望相同的代码也可以用于其他OOXML文件(例如.docx

相关问题