【发布时间】:2021-10-02 23:56:14
【问题描述】:
我有一个名为 data 的字典,看起来像这样:
{'Annou1_date': [NoneType,NoneType,....], 'Appro2_date': [NoneType,NoneType,....], 'Appro3_date': [NoneType,NoneType,....]}
而且,我想在索引 1 处更新 Appro2_date 的列表,这样我的字典就会:
{'Annou1_date': [NoneType,NoneType,....], 'Appro2_date': [NoneType,22nd July 2021,....], 'Appro3_date': [NoneType,NoneType,....]}
我该怎么做?
我试过了:
#RECRUITMENT PRE-PROCESSING SCRIPT
import pandas as pd
import numpy as np
import math
#Reading report file
df1 = pd.read_excel("C:/Users/INT011/Desktop/WorkFlows/Dashboards/Recruitment Workflow/Recruitment Workflow Tasks.xlsx")
df1 = df1.sort_values(by=["Workflow ID","Task ID"], ascending=True)
wf_id,tk_id,tk_name,sd,ed,delay,st,category,assignee,ini,can_name,can_desig,hod,posi,dept,jb_num,qty,ddj,fdj,lk \
= df1['Workflow ID'].tolist(),df1['Task ID'].tolist(),df1['Task Name'].tolist(),df1['Start Date'].tolist(),df1['End Date'].tolist(),df1['Delay(Days)'].tolist(),df1['Status'].tolist(), \
df1['Category'].tolist(),df1['Assignee Name'].tolist(),df1['Initiator'].tolist(),df1['Name Of Candidate'].tolist(),df1['Candidate Designation'].tolist(),df1['HOD Selection'].tolist(), \
df1['Position'].tolist(),df1['Department'].tolist(),df1['Project Number'].tolist(),df1['Quantity'].tolist(),df1['Desired Date Of Joining'].tolist(),df1['Final Date Of Joining'].tolist(), \
df1['Alfresco Link'].tolist()
sd = pd.to_datetime(df1['Start Date'])
df1['End Date'] = pd.to_datetime(df1['End Date'])
df1['Min Date'] = df1.groupby(['Workflow ID', 'Task Name'])['End Date'].transform('min')
df1['Max Date'] = df1.groupby(['Workflow ID','Task Name'])['End Date'].transform('max')
firstdate = df1['Min Date'].tolist()
lastdate = df1['Max Date'].tolist()
tasklist = np.unique(tk_name)
t = len(tasklist)
task_var_names = [str()]*t
for i in range(t):
task_var_names[i] = tasklist[i][0:5]+str(i+1)+"_date"
#New Columns for Output File
a = len(wf_id)
x=np.array(wf_id)
x=np.unique(wf_id)
b=len(x)
data = dict((task_var_names[i], [None]*b) for i in range(t))
runnintask,status,ct,initiator,HOD,jb,alflink = [str()]*b,[str()]*b,[str()]*b,[str()]*b,[str()]*b,[str()]*b,[str()]*b
for i in range(0,b):
for j in range(0,a):
if x[i] == wf_id[j]:
alflink[i] = lk[j]
ct[i] = category[j]
for k in range(t):
if tk_name[j] == tasklist[k]:
data[task_var_names[k]] = ed[j]
但它用单个值替换列表,例如:
{'Annou1_date': '17-Jul-2021', 'Appro2_date': '24-Jul-2021', 'Appro3_date': '22-Jul-2021'}
【问题讨论】:
-
请添加完整代码。这个两行的小sn-p没有多大帮助。
-
添加完整代码
标签: python dictionary indexing append