正如标题所说,我的问题是我如何在没有任何用户输入的情况下在python中读取一个受密码保护的excel文件?
我在reddit上找到了一个简单的解决方案,首先解密文件,然后再次加密,然而,它需要用户手动输入密码两次:https://www.reddit.com/r/learnpython/comments/rwy14d/read_passwordprotected_excel_and_save_to/
此外,是否有一种替代方法,可以让您在pandas中读取文件,而无需解密然后加密文件?
Reddit链接:
import win32com.client as win32
#filename should include fill path to file
def unprotect_xlsx(filename, pw_str):
xcl = win32.Dispatch("Excel.Application")
wb = xcl.Workbooks.Open(filename, False, False, None, pw_str)
xcl.DisplayAlerts = False
wb.SaveAs(filename, None, '', '')
xcl.DisplayAlerts = True
xcl.Quit()
def protect_xlsx(filename, pw_str):
xcl = win32.Dispatch("Excel.Application")
wb = xcl.Workbooks.Open(filename)
xcl.DisplayAlerts = False
wb.SaveAs(filename, None, '', pw_str)
xcl.DisplayAlerts = True
xcl.Quit()
1条答案
按热度按时间zaqlnxep1#
如果所有的文件都有相同的密码,您可以将
pandas
库与pyxlsb
库结合使用。确保你已经安装了
pyxlsb
库。您可以使用pip安装它:pip install pyxlsb
。您可以根据自己的具体需要调整代码:)