使用python设置excel文件的敏感度标签



我试图使用openpyxl将数据帧加载到excel模板中,并以最高灵敏度设置保存它。该模板具有由微软管理员设置的5个敏感度级别,其中最高级别为"敏感度";高度保护";。参考图片

模板被保存为";"高度保护";但是一旦数据被加载;一般业务";标签

# Load template file
template_path = filepath.xlsx
tmpwb = openpyxl.load_workbook(template_path)
#   select sheet
sheet = tmpwb['Data']
# update columns names
for i, col in enumerate(df.columns):
sheet.cell(row=2, column=i+1).value = col
# update main data table
for i, col in enumerate(df.columns):
for j, df_value in enumeratedf[col]):
sheet.cell(row=j+3, column=i+1).value = df_value
file_path = savepath.xlsx
# save workbook
tmpwb.save(file_path)

有没有一种方法可以使用python控制灵敏度设置?谢谢你的提示。

敏感度标签为Office365参数,可以使用xlwings和pywin32 API进行修改。

你首先需要做的唯一一件事就是找出分类的个人ID。

import xlwings as xw
wb = xw.Book('test.xlsx') #A workbook with a set activity label
labelinfo = wb.api.SensitivityLabel.GetLabel()
print(labelinfo.LabelId)
>>> 123123123-123123123-ajskldfj123  (as an example ID, this will look different for each LabelName)

这将为您提供灵敏度标签的ID,然后您可以将其传递到最后修改的xls。对于每个LabelName,这看起来会有所不同。因此,您将首先(一次性行动(需要找出这些敏感度标签的公司ID然后你设置标签,如下所示:

wb = xw.Book('test.xlsx')
labelinfo = wb.api.SensitivityLabel.CreateLabelInfo()
labelinfo.AssignmentMethod = 2
labelinfo.Justification = 'init'
labelinfo.LabelId = 'YOUR-ID-GOES-HERE'
wb.api.SensitivityLabel.SetLabel(labelinfo, labelinfo)

这应该可以正确设置灵敏度标签。

你可以在这里了解更多关于

最新更新