2016-12-04 84 views
0

我正在使用一個API,根據查詢返回不同的字典。所以,因爲我不能確定我會擁有所需的鑰匙,所以我使用dict.get()來避免提高KeyError。但我目前將這些結果插入到數據庫中,並希望避免用None填充行。SQLite忽略無INSERT

什麼是處理這個問題的首選方法?

+0

你想讓它充滿什麼?你可以給'.get()'函數提供第二個參數,如果沒有找到key,它將返回你的第二個參數。像這樣'dct.get('key','default')' –

回答

1

使用NULL作爲默認值dict.get()。如果key不在您的dict對象中,它將返回NULL而不是None。數據庫中的「NULL」(大部分)等於Python中的None。例如:

>>> my_dict = {} 

#       v Returns `NULL` if key not found in `my_dict` 
>>> my_dict.get('key', 'NULL') 
'NULL' 

在情況下,你必須列NOT NULL,將它們設置爲空字符串。例如:

>>> my_dict.get('key', '') 
'' 
+0

數據庫中有幾列是NOT NULL。然後怎樣呢? –

+1

@DavidMetcalfe:檢查更新代碼。在這種情況下,您可以將其設置爲空字符串 –