Files
2026-01-30 11:28:35 +08:00

62 lines
2.1 KiB
Python

from api import API
import pandas as pd
from tqdm import tqdm
api_instance = API()
# 获取简道云员工id
payload = {"api_key": "6694d3c4fcb69ca9a111a6c4",
"entry_id": "6769204a1902c9341340a1bc",
}
staff_id = api_instance.entry_data_list(payload)
staff_id_list = staff_id.get("data") # api请求格式,将数据封装在data字典里
def get_staff_id(row_item, name):
"""辅助函数,用于获取员工ID"""
if str(row_item["_widget_1734942794144"]) == str(name): # 检查姓名是否匹配
return row_item["_widget_1734942794145"] # 返回员工ID
return None
df = pd.read_excel(r"C:\Users\Administrator.DESKTOP-7IC2USJ\Desktop\新建文件夹\对应关系.xlsx", sheet_name="Sheet2")
for index, row in tqdm(df.iterrows()):
NGV_roles = {
"小六": row["小六"],
"技术专家": row["技术专家"],
"区域经理": row["区域经理"],
}
if pd.isnull(row["小六"]) and pd.isnull(row["技术专家"]) and pd.isnull(row["区域经理"]):
continue
for role, name in NGV_roles.items():
for row_item in staff_id_list:
staff_id = get_staff_id(row_item, name)
if staff_id:
NGV_roles[role] = staff_id
break # 找到后退出循环
else:
NGV_roles[role] = None # 如果没有找到对应的员工ID
relationship_manager, area_manager, technician = [NGV_roles[role] for role in
['小六',
'技术专家',
'区域经理', ]]
payload = {
"api_key": "5f3b7542d0239800061b1d5b",
"entry_id": "6801f1a54b7d73f66c499cff",
"data_id": row["data_id"],
"data": {
"_widget_1745371903691": {"value": row["小六"]},
"_widget_1745371903692": {"value": row["技术专家"]},
"_widget_1745371903690": {"value": row["区域经理"]},
}
}
# print(payload)
api_instance.entry_data_update(payload)
# break