2016-10-09 8 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を使用しています。私はそれをテストし、私いない

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) 

+0

「私はユーザー名を探しています。ああ。 :) – 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 

.xlsxファイルの開始

+0

これは、最後に変更を加えたユーザーではなく、変更時刻を見つけるための設定です。 Python 2では3ではなくPython 2に設定されています。 – YesIAmThatGuy

+0

Python 3で私が認識している限り、あなたは* by *を探しています。ごめんなさいあなたのメッセージを間違って読んでください – rafalf

+0

私の質問のタイトルは、私は今それを変更しました。3のために、印刷機能のまわりに括弧が必要です。:) – YesIAmThatGuy

1

いるので、あなたはこれを(あなたの.xlsxファイルの名前にfilenameを設定)を使用することができます他のOOXMLファイルでも同じコードが動作すると期待しています(例:.docx

関連する問題