JSONDecodeError 跳过

JSONDecodeError skip

我正在尝试在数据框中获取一个新列,其中传递了函数,这是一个有效的代码。 (该功能是 API 抓取和 idk 如何 1) 编辑它或 2) 排除故障)

df = pd.DataFrame(data = myarray)
df.columns=["A"]
df['B']= 'US'

array_thing=[]

for i in range(len(df)):
    array_thing.append(mycoolfunction(df.iloc[i, 0], df.iloc[i, 1]))
df['new']=array_thing

df

现在我需要跳过某些行中出现的错误: JSONDecodeError:预期值:第 1 行第 1 列(字符 0)

我已经尝试查看其他计算器和所有可能的 'try''continue' 代码,我很困惑该怎么做。

我试过以下方法:

try:
    for i in range(len(df)):
        array_thing.append(mycoolfunction(df.iloc[i, 0], df.iloc[i, 1]))
        df['new']=array_thing
    except JSONDecodeError as e:
        continue

for i in range(len(df)):
    try:
        array_thing.append(mycoolfunction(df.iloc[i, 0], df.iloc[i, 1]))
        df['new']=array_thing
    except <JSONDecodeError: Expecting value: line 1 column 1 (char 0)> as e:
        print('error!')
df

none 有效。我只需要它跳过错误,要么不在该行中产生任何内容,要么只说错误并继续。

数据框中的类似内容: |一个| b| json代码| |:---- |:------:| -----:| | A123|美国 |错误|

然后继续显示所有有效的 json。

谢谢!!

如果您想处理不同的错误,请尝试:

import traceback

for i in range(len(df)):
    try:
        array_thing.append(mycoolfunction(df.iloc[i, 0], df.iloc[i, 1]))
        df['new']=array_thing
    except Exception as e:
        print(traceback.format_exc())
        print("your traceback", e)

或者如果您只想忽略任何错误,只需:

...   
except:
        pass