簡體   English   中英

僅當存在於 python 中時才返回該行

[英]return the row only if exists in python

我只想在特定行存在但無法實現的情況下返回值。在這里,我嘗試了什么

def CurrentRunning(UserId):
    
        cursor = connection.cursor()
        cursor.execute('EXEC [dbo].[sp_GetCurrentRunningActivity]  @UserId=%s', (UserId,))
        result_set = cursor.fetchall()
        data= []    
        data.append({
                'TaskId':row[0],
                'Value1':row[1],
                'Value2' :row[2],
                'SelectedTeam':0 if row[3] is exists else row[3],
                'Level1':'0' if row[4] is exists else row[4],
                'Level2':'0' if row[5] is exists else row[5],
                'Level3':'0' if row[6] is exists else row[6],
                'Level4':'0' if row[7] is exists else row[7],
                'TotalVolume':'0' if row[8] is exists else row[8],
                'ReturnDate':'0' if row[9] is exists else row[9],
     
              })
                print('Activity')
                return Response(data)
     

您必須修改您的 if 語句:

def CurrentRunning(UserId):

    cursor = connection.cursor()
    cursor.execute('EXEC [dbo].[sp_GetCurrentRunningActivity]  @UserId=%s', (UserId,))
    result_set = cursor.fetchall()
    data= []    
    data.append({
            'TaskId':row[0],
            'Value1':row[1],
            'Value2' :row[2],
            'SelectedTeam': row[3] if row[3] is not None else '0',
            'Level1': row[4] if row[4] is not None else '0',
            'Level2': row[5] if row[5] is not None else '0',
            'Level3': row[6] if row[6] is not None else '0'
            ...
            ...

等等...

編碼

val = row[3] if row[3] is not None else '0'

當 row[3] 為 None 時導致 val == '0',否則 val 將等於 row[3]。

如果您不確定 row[3] 是否存在(可能是因為索引 3 大於 len(row)),您可以添加額外的檢查:

val = row[3] if ((row is not None) and (len(row)>3) and (row[3] is not None)) else '0'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM