![](/img/trans.png)
[英]How to save your data you've already loaded and processed in Google Colab notebook so you don't have to reload it everytime?
[英]How to break for loop while handling API error so you don't lose all your data
我有一個for循環,不斷將參數傳遞給API。 我將從API調用中獲取響應,並將其附加到3個列表中。 for循環完成后,我將創建一個熊貓數據框,然后將其寫入.csv文件。
整個循環大約需要20分鍾才能運行,而我在10分鍾內就遇到了一個錯誤,因此我丟失了所有數據,然后才能將其寫入數據框,然后再寫入.csv文件。
您如何更好地處理這種情況?
# Create empty lists for data
email = []
is_disposable_address = []
mailbox_verification = []
for address in emails_to_validate:
parameters = {"address": address}
response = requests.get(url, params=parameters,
auth=("api", "key"))
email.append(address)
is_disposable_address.append(response.json()["is_disposable_address"])
mailbox_verification.append(response.json()["mailbox_verification"])
# Combine lists into dictionary and create dataframe
data = {"email_address": email,
"is_disposable_address": is_disposable_address,
"mailbox_verification": mailbox_verification}
dF = pd.DataFrame(data)
# Export to csv
dF.to_csv("emails.csv", index=False)
最簡單的解決方案是將循環包裝在try / catch塊中,如下所示:
try:
for address in emails_to_validate:
parameters = {"address": address}
response = requests.get(url, params=parameters,
auth=("api", "key"))
email.append(address)
is_disposable_address.append(response.json()["is_disposable_address"])
mailbox_verification.append(response.json()["mailbox_verification"])
except Exception as e:
print('An exception has occurred. Giving up on loop:')
print(e)
然后執行將繼續執行代碼的后續部分。
如果要繼續處理后續列表項,也可以將Try
/ Except
塊放入循環中。
有關如何使用try / except以及對錯誤類型進行更多細微差別的條件的更多詳細信息,請參閱有關異常處理的文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.