我正试图通过python从excel生成报告

2024-06-16 09:53:18 发布

您现在位置:Python中文网/ 问答频道 /正文

这是excel: enter image description here

我试图找出任务是否到达Last_Queue=='NL_AMS_NSO_TA_TRANSPORT'并由TAC_NL_成员执行,在excel中,如果任务由TAC_NL_成员执行,则列值为true。 我写了下面的代码来找出答案,但它没有给我正确的打印

import pandas as pd

df1=pd.read_excel('C:/Users/611777575/desktop/Python/FY19-20 Classic Stats.xlsx', sheet_name="20-Feb",dtype={ 'TAC NL Member': str})



filt2 = df1.loc[(df1['Last Queue'] == 'NL_AMS_NSO_TA_TRANSPORT') & (df1['TAC NL Member'] == 'TRUE')]


print(filt2)

我认为代码无法运行,因为单词TRUE。 请建议


Tags: 代码queuenl成员excelpdmembertransport
2条回答

我认为问题在于使用.loc方法。通常用于访问整个列、行或数据帧的单个元素,如:

my_df.loc[my_row, my_col]

尝试:

df1[(df1['Last Queue'] == 'NL_AMS_NSO_TA_TRANSPORT') & (df1['TAC NL Member'] == 'TRUE')]

您可以分别检查这两个条件以确定问题:

cond_1 = df1['Last Queue'] == 'NL_AMS_NSO_TA_TRANSPORT'
print(df1[cond1]])

cond_2 = df1['TAC NL Member'] == 'TRUE'
print(df1[cond2]])

编辑:

我运行了以下命令:

df = pd.DataFrame({"Person": ["Person_1", "Person_2"], "TAC NL MEMBER":["TRUE", "TRUE"]})

df[df["TAC NL MEMBER"] == "TRUE"]

输出:

    Person TAC NL MEMBER
0  Person_1          TRUE
1  Person_2          TRUE

True是一个python关键字“True”是一个字符串。尝试删除引号

相关问题 更多 >