Python 我需要将Print命令的输出保存到一个列表中

Python 我需要将Print命令的输出保存到一个列表中,python,python-3.x,pandas,loops,if-statement,Python,Python 3.x,Pandas,Loops,If Statement,我用熊猫来比较时间长短来标记出勤率。 我使用DateTime和timedelta来比较持续时间。我想将输出保存在相邻的列中,以便我们知道谁在场,谁不在场 我可以比较这些值,并打印该人员是否在场,但我希望在excel文件中该人员姓名前面进行比较 df1 =df[['Date', 'Agent Name', 'Login Time']] for x in df1['Login Time']: s1 = str(x) s2 = '12:00:00' s3 = '3:10:00' s4 = '01:0

我用熊猫来比较时间长短来标记出勤率。 我使用DateTime和timedelta来比较持续时间。我想将输出保存在相邻的列中,以便我们知道谁在场,谁不在场

我可以比较这些值,并打印该人员是否在场,但我希望在excel文件中该人员姓名前面进行比较

df1 =df[['Date', 'Agent Name', 'Login Time']]

for x in df1['Login Time']:
s1 = str(x)
s2 = '12:00:00'
s3 = '3:10:00'
s4 = '01:00:00'
FMT = '%H:%M:%S'
tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT)
if x == s4:
    print('Aussi')
elif (str(tdelta)) < s3:
    print('Present')
else: 
    print('Check')
df1=df[['Date','Agent Name','Login Time']]
对于df1中的x[‘登录时间’]:
s1=str(x)
s2='12:00:00'
s3='3:10:00'
s4='01:00:00'
FMT='%H:%M:%S'
tdelta=datetime.strtime(s2,FMT)-datetime.strtime(s1,FMT)
如果x==s4:
打印('Aussi')
elif(str(tdelta))

我的想法是,我将把输出的值存储在一个列表中,然后将列表添加到df中的一个新列。

您需要在循环之前创建一个空列表,然后在循环期间附加到它

  • 将此添加到
    for
    循环之前:
  • 将此项添加到
    for
    循环的末尾,其中
    值可以是Aussi、Present或Check之一:
  • 下面是它可能的样子:

    df1 =df[['Date', 'Agent Name', 'Login Time']]
    
    attendance = []
    for x in df1['Login Time']:
        s1 = str(x)
        s2 = '12:00:00'
        s3 = '3:10:00'
        s4 = '01:00:00'
        FMT = '%H:%M:%S'
        tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT)
        if x == s4:
            value = 'Aussi'
        elif (str(tdelta)) < s3:
            value = 'Present'
        else: 
            value = 'Check'
        attendance.append(value)
    
    df1=df[['Date','Agent Name','Login Time']]
    出席人数=[]
    对于df1中的x[‘登录时间’]:
    s1=str(x)
    s2='12:00:00'
    s3='3:10:00'
    s4='01:00:00'
    FMT='%H:%M:%S'
    tdelta=datetime.strtime(s2,FMT)-datetime.strtime(s1,FMT)
    如果x==s4:
    值='Aussi'
    elif(str(tdelta))
    Aussi Aussi Aussi Aussi Aussi Aussi Aussi Aussi当前检查当前检查当前检查当前检查当前检查当前检查当前检查当前检查当前检查当前检查当前显示这是输出您是否在
    for
    循环之前尝试了
    出席=[]
    ,然后尝试了
    出席。附加(值)
    ,其中
    值可以是澳元、出席或支票?非常感谢!成功了!酷豆,我添加了一个答案来正式说明你在寻找什么。如果您在我的答案中看到值,您可以通过单击它旁边的复选标记来接受它。
    
    attendance.append(value)
    
    df1 =df[['Date', 'Agent Name', 'Login Time']]
    
    attendance = []
    for x in df1['Login Time']:
        s1 = str(x)
        s2 = '12:00:00'
        s3 = '3:10:00'
        s4 = '01:00:00'
        FMT = '%H:%M:%S'
        tdelta = datetime.strptime(s2, FMT) - datetime.strptime(s1, FMT)
        if x == s4:
            value = 'Aussi'
        elif (str(tdelta)) < s3:
            value = 'Present'
        else: 
            value = 'Check'
        attendance.append(value)