我下面有一些代码,它给了我的错误消息
TypeError:zip参数#1必须支持迭代。
我认为错误是由以下功能引起的:
get_account_jira_account_name(year_month,大修['tenant'](
返回Empty。
我想知道如何返回一个可以支持迭代的Empty值?
def get_account_jira_account_name(year_month, tenant):
sql_tenant_account = f'''
Some query";'''
df=get_dataframe(sql_tenant_account)
if not df.empty:
account_name = df['account_name'].values[0]
jira_account_name = df['jira_account_name'].values[0]
else:
sql_tenant_account = f'''Some Query";
;'''
df=get_dataframe(sql_tenant_account,'sla','COMMONDB')
if len(df) !=0:
account_name = df['account_name'].values[0]
jira_account_name = ''
return account_name, jira_account_name
else:
print('When I get the error it happens here')
account_name = 'not found'
jira_account_name = 'not found'
return account_name, jira_account_name
outage_df['account_name'], outage_df['jira_account_name'] = zip(*outage_df.apply(lambda outage: get_account_jira_account_name(year_month, outage['tenant']), axis=1))
从技术上讲,一个空序列(空列表、空字符串等(是"支持迭代的空值">
然而,您还没有向我们展示足够的代码,让我们知道该解决方案是否真的适用于您的特定情况。
在函数中,当第一个if
语句为true时,根本不执行return
语句*,因此该函数默认返回一个None
值,该值是不可迭代的。
*
这似乎很奇怪,因为在第一个if
块中,函数为account_name
和jira_account_name
赋值,但实际上并没有对它们执行任何操作。也许你也打算把return account_name, jira_account_name
放在那个区块里?(