我正在使用下面的 Json 加載代碼,它適用于有效的 json 字串,但對于無效的它會引發錯誤。
orgdf['data'].apply(json.loads)

我只需要知道 Jason.loads 給出錯誤的無效記錄對于哪個索引(行號)。
我知道我可以使用資料幀列舉(for回圈)來做到這一點,但正在尋找一種有效的方法來做到這一點,因為它包含百萬條記錄。
如果有人可以提供同樣的幫助,那就太好了。
uj5u.com熱心網友回復:
您可以創建一個自定義函式,在其中將json.loads呼叫包裝在 try/except 中,然后在內部呼叫此函式apply。另請參閱此答案。
def is_valid_json(s):
try:
json.loads(s)
except (json.JSONDecodeError, ValueError):
return False
return True
# Mark valid JSON strings
valid = orgdf['data'].apply(is_valid_json)
# Extract indices with _invalid_ strings
invalid_indices = valid[~valid].index
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/418923.html
標籤:
