微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果数据预处理语句不起作用请任何人都可以解决这个问题

如何解决如果数据预处理语句不起作用请任何人都可以解决这个问题

我正在预处理一个原始 excel 文件,其中包含某些任务的开始日期(代码中的“sd”)和结束日期(代码中的“ed”),并且我为新列表/列编写了一个 if 代码,它显示了每个任务的状态。即未开始、进行中和完成。显而易见的条件是,如果 sd 为空,则任务未启动,如果 sd 存在但 ed 为空,则任务正在进行,如果 sd 和 ed 都存在,则任务完成。但只有完成作品的条件。 我在 python 3.8 中使用 spyder

#INVOICE PRE-PROCESSING REV 00
import pandas as pd

#Reading excel file
df1 = pd.read_excel("Invoices Detail.xls")

#Reading Columns from excel
wf,tk,sd,ed,dd,st,vn,jn,iv,an,lk = df1['Workflow ID'].tolist(),df1['Task'].tolist(),df1['Start_Date'].tolist(),df1['End_Date'].tolist(),df1['Delay(Days)'].tolist(),df1['Status'].tolist(),df1['vendor Name'].tolist(),df1['JOB  Number'].tolist(),df1['INV_AMT'].tolist(),df1['Assignee/Completed by'].tolist(),df1['Alfresco Link'].tolist()
#New Columns for output file
a = len(tk)
stage,tk_name,status = [None]*a,[None]*a,[None]*a
#Start and End Dates for each task
t1_sdate,t1_edate,t2_sdate,t2_edate,t3_sdate,t3_edate,t4_sdate,t4_edate,t5_sdate,t5_edate,t6_sdate,t6_edate,\
    t7_sdate,t7_edate,t8_sdate,t8_edate,t9_sdate,t9_edate,t10_sdate,t10_edate,t11_sdate,t11_edate,t12_sdate,t12_edate = \
        [None]*a,\
            [None]*a,[None]*a

for i in range(0,a): 
    if tk[i] == "Upload Invoice and Initiate Workflow(Document Controller)":
        stage[i] = "S1: Uploading & Initiation"
        tk_name[i] = "T1: Upload Invoice and Initiate Workflow(Document Controller)"
        t1_sdate[i] = sd[i]
        t1_edate[i] = ed[i]
        if t1_sdate[i] == pd.NaT:
            status[i] = "Not Started"
        elif t1_sdate[i] != pd.NaT and t1_edate[i] == pd.NaT:
            status[i] = "On Going"
        elif t1_sdate[i] != pd.NaT and t1_edate[i] != pd.NaT:
            status[i] = "Completed"
    elif tk[i] == "Document Controller Attach DO and Fillout the Related Details (ACL)":
        stage[i] = "S2: Filling Details & Attaching DO"
        tk_name[i] = "T2: Document Controller Attach DO and Fillout the Related Details"
        t2_sdate[i] = sd[i]
        t2_edate[i] = ed[i]
        if t2_sdate[i] == pd.NaT:
            status[i] = "Not Started"
        elif t2_sdate[i] != pd.NaT and t2_edate[i] == pd.NaT:
            status[i] = "On Going"
        elif t2_sdate[i] != pd.NaT and t2_edate[i] != pd.NaT:
            status[i] = "Completed"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。