2010-09-24 162 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(文件名,假,真,无,密码)

我希望这个作品。它为我工作。