我想添加新加入的员工详细信息,并验证他/她的数据是否存在于excel中。如果没有,请输入并生成一个唯一的employee (uq_id,name,place,dob,dep)
。 (这是给我的任务)在python中使用openpyxl。
名称DOB营业部部门unique_id Harsha 1/1/1991 hyd IoT random no
接下来我要添加srinidhi详细信息。添加时必须验证她是否存在于excel中;如果不存在,则必须添加她详细信息并为我生成一个随机的唯一身份。
答案 0 :(得分:0)
由于您没有提到excel文件结构,因此以下代码是根据以下假设编写的:
1。如果存在重复记录,则需要打印 employee-id
但 em> 生成新的 employee-id
2。随机数生成器生成10个字母的随机employee-id
。
import openpyxl
import random
def randomString(stringLength=10):
"""Generate a random string of fixed length """
letters = string.ascii_lowercase
return ''.join(random.choice(letters) for i in range(stringLength))
# Give the location of the file
path = "C:\\Users\\Admin\\Desktop\\demo.xlsx"
#Enter the new Employee's ID you need to check with your existing data for duplicate.
emp_id = input("Enter employee ID")
# workbook object is created
wb_obj = openpyxl.load_workbook(path)
sheet_obj = wb_obj.active
m_row = sheet_obj.max_row
# Loop will print all values
# of first column
for i in range(1, m_row + 1):
cell_obj = sheet_obj.cell(row = i, column = 1)
if (cell_obj.value == emp_id):
print("Employee with that ID already exists")
emp_id=randomString(10) #here is the length of your random string.
else:
print(cell_obj.value)
如果您提供查询的详细信息,我将为您提供更多帮助。