首页 > 解决方案 > 隐藏密码以从受保护的 Excel 文件中获取数据,无需用户干预

问题描述

我有一个在夜间运行的脚本,以便从我的数据库中加载一些表。此脚本自动运行(不需要任何用户交互)。

其中一个模块是从 excel 中获取一些数据,这是一个受保护的文件,它需要密码。

要从我的文件中获取数据,我使用以下代码:

import xlwings as xw
PATH = 'filename.xlsx'
app = xw.App(visible=False)
wb = xw.Book(PATH, password='ASD')
sheet = wb.sheets['sheet']

我的问题是:还有其他方法可以隐藏脚本中的密码吗?也许我正在尝试获取以下代码:

wb = xw.Book(PATH, password='******')

有什么建议吗?

标签: pythonxlwings

解决方案


您通常会使用环境变量。有关如何在 Windows 上设置一个,请参见此处

import os
wb = xw.Book(PATH, password=os.environ['EXCEL_FILE_PASSWORD'])

请注意,这允许您将密码保留在源代码之外,因此它不会最终出现在您的 Git 存储库中。但是任何可以使用环境变量访问计算机的人也可以访问它的内容,即您的密码。


推荐阅读