@@ -226,9 +226,9 @@ def test_nested_flattens(self):
226
226
self .assertEqual (result , expected )
227
227
228
228
229
- def test_json_normalise_fix (self ):
230
- # issue 14505
231
- j = {
229
+ def test_json_normalize_errors (self ):
230
+ # If meta keys are not always present a new option to set errors='ignore' has been implemented (:issue:`14583`)
231
+ i = {
232
232
"Trades" : [{
233
233
"general" : {
234
234
"tradeid" : 100 ,
@@ -268,7 +268,7 @@ def test_json_normalise_fix(self):
268
268
}
269
269
]
270
270
}
271
- j = json_normalize (data = j ['Trades' ], record_path = [['general' , 'stocks' ]],
271
+ j = json_normalize (data = i ['Trades' ], record_path = [['general' , 'stocks' ]],
272
272
meta = [['general' , 'tradeid' ], ['general' , 'trade_version' ]], errors = 'ignore' )
273
273
expected = {'general.trade_version' : {0 : 1.0 , 1 : 1.0 , 2 : '' , 3 : '' },
274
274
'general.tradeid' : {0 : 100 , 1 : 100 , 2 : 100 , 3 : 100 },
@@ -278,6 +278,12 @@ def test_json_normalise_fix(self):
278
278
279
279
self .assertEqual (j .fillna ('' ).to_dict (), expected )
280
280
281
+ self .assertRaises (KeyError ,
282
+ json_normalize , data = i ['Trades' ], record_path = [['general' , 'stocks' ]],
283
+ meta = [['general' , 'tradeid' ], ['general' , 'trade_version' ]], errors = 'raise'
284
+ )
285
+
286
+
281
287
if __name__ == '__main__' :
282
288
nose .runmodule (argv = [__file__ , '-vvs' , '-x' , '--pdb' ,
283
289
'--pdb-failure' , '-s' ], exit = False )
0 commit comments