[英]Python: Return a blank and continue for loop after exception
我有一個 for 循環,我使用 API 密鑰將一些值返回到 CSV 中。 我希望每次出現錯誤而不是代碼中斷時循環都返回一個空行。 我知道我需要使用continue
但不確定如何為我得到的每個indexError
插入一個空行。
我編寫了一個名為get_data
的函數,它從 API 返回響應文本。 所以使用它,這就是我試圖為輸入文件df
運行的
d = []
try:
for i in range(len(df)):
output = df.loc[i,"column_1"]
d.append(get_data(output))
lat = pd.DataFrame(d)
lat_lon= lat.apply(pd.Series)
f = open('results.csv','w')
lat_lon.to_csv('results.csv')
except IndexError:
print('ERROR at index {}: {!r}'.format(i, address))
我希望每次出現indexError
時輸出 csv 文件results.csv
都留一個空行
try/except
需要在循環內。 否則,您會在發生異常時中止整個循環。
此外,您不應該每次通過循環寫入 CSV 文件。 用d
的完整內容寫在最后。
d = []
for i in range(len(df)):
try:
output = df.loc[i,"column_1"]
d.append(get_data(output))
except IndexError:
print('ERROR at index {}: {!r}'.format(i, address))
d.append([default row goes here])
lat = pd.DataFrame(d)
lat_lon= lat.apply(pd.Series)
f = open('results.csv','w')
lat_lon.to_csv('results.csv')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.