簡體   English   中英

Python:返回一個空白並在異常后繼續循環

[英]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.

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