如何更新电子表格中的单元格而不在 openpyxl 上重复列表中的值

How to update cells in a spreadsheet without the values on the list repeating on openpyxl

我是编程新手,很抱歉这个愚蠢的问题。

我一直在尝试在 excel 上开发一个电子表格,用于更新特定列表中工作人员的职责。

例如我有这个代码:

senior_duties = ['SOPs', 'EQA review', 'Doc review', 'NC review', 'Trend analysis']

senior_duties1 = random.choice(senior_duties)

#Staff member 1

sheet["D5"] = senior_duties1
sheet["D6"] = senior_duties1

#Staff member 2

sheet["E5"] = senior_duties1
sheet["E6"] = senior_duties1

我知道这只会打印列表中的随机值,这些值有时会在两名工作人员之间重复。

我希望代码在每次脚本 运行 时为列表中的每位员工打印一些新内容。我确定解决方案涉及 'for' 循环,但我似乎无法解决它。

任何帮助将不胜感激!

要为每个人获得不同的结果,您需要再次致电 random_choice

senior_duties = ['SOPs', 'EQA review', 'Doc review', 'NC review', 'Trend analysis']

#Staff member 1
sheet["D5"] = random.choice(senior_duties)
sheet["D6"] = random.choice(senior_duties)

#Staff member 2
sheet["E5"] = random.choice(senior_duties)
sheet["E6"] = random.choice(senior_duties)

或者如果每个员工的选择相同:

senior_duties = ['SOPs', 'EQA review', 'Doc review', 'NC review', 'Trend analysis']

#Staff member 1
duty_1 = random.choice(senior_duties)
sheet["D5"] = duty_1
sheet["D6"] = duty_1

#Staff member 2
duty_2 = random.choice(senior_duties)
sheet["E5"] = duty_2
sheet["E6"] = duty_2

如果您想随机分配每个员工的职责,只需打乱列表并从列表中分配职责即可。

import random

senior_duties = ['SOPs', 'EQA review', 'Doc review', 'NC review', 'Trend analysis']

random.shuffle(senior_duties)

# Staff member 1

sheet["D5"] = senior_duties[0]
sheet["D6"] = senior_duties[0]

# Staff member 2

sheet["E5"] = senior_duties[1]
sheet["E6"] = senior_duties[1]

这会在您每次 运行 脚本时给您一个随机任务分配,但是如果您想要一个尚未完成的分配,您将需要添加更多逻辑