2010-09-24 334 views
1

我是新來的Python編程,我想讀使用python密碼保護的文件,代碼如下所示:如何讀取密碼保護的Excel在python

import sys 
import win32com.client 

xlApp = win32com.client.Dispatch("Excel.Application") 
print "Excel library version:", xlApp.Version 
filename,password = 'C:\myfiles\foo.xls', 'qwerty12' 
xlwb = xlApp.Workbooks.Open(filename, Password=password) 

但隨後的xls文件被加載但仍然提示我提供密碼,我不能讓python爲我輸入密碼。

我做錯了什麼?謝謝!

回答

2

打開需要兩種類型的密碼,即:

Password: password required to open a protected workbook. 
WriteResPassword : password required to write to a write-reserved workbook 

所以你的情況,是把它寫在打開受保護或保護?

也有是說,這不符合命名參數工作,因此,嘗試提供與默認

默認值是在MSDN文檔的所有參數值在SO討論

+0

我不確定,當我嘗試打開xls文件時,我剛收到提示,我怎麼能知道它?謝謝! – lokheart 2010-09-24 03:32:01

+0

@lokheart:如果你得到提示來打開文件並且不通過密碼並且它以只讀模式打開excel文件,那麼它只能被寫保護。看到我編輯的響應,它看起來像命名參數不起作用。讓我知道,如果答案可以幫助你。 – pyfunc 2010-09-24 03:34:53

+0

我修復了它: xlwb = xlApp.Workbooks.Open(filename,0,True,None,password) 但是我不太明白Workbooks.Open的第二個參數是什麼?謝謝! – lokheart 2010-09-24 03:42:09

2

使用此打開密碼保護的文件

xlwb = xlApp.Workbooks.Open(文件名,假,真,無,密碼)

我希望這個作品。它爲我工作。