Skip to content

Commit

Permalink
adjusted formatting
Browse files Browse the repository at this point in the history
  • Loading branch information
dickreuter committed Dec 13, 2016
1 parent 3c94206 commit 701c140
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 13 deletions.
7 changes: 4 additions & 3 deletions pandas/io/json.py
Original file line number Diff line number Diff line change
Expand Up @@ -747,7 +747,6 @@ def json_normalize(data, record_path=None, meta=None,
always present
* raise: will raise KeyError if keys listed in meta are not
always present
.. versionadded:: 0.20.0
Returns
Expand Down Expand Up @@ -854,8 +853,10 @@ def _recursive_extract(data, path, seen_meta, level=0):
if errors == 'ignore':
meta_val = np.nan
else:
raise KeyError("Try running with errors='ignore'"
"as key %s is not always present.", e)
raise \
KeyError("Try running with "
"errors='ignore' as key "
"%s is not always present", e)
meta_vals[key].append(meta_val)

records.extend(recs)
Expand Down
23 changes: 13 additions & 10 deletions pandas/io/tests/json/test_json_norm.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,6 @@ def test_nested_flattens(self):

self.assertEqual(result, expected)


def test_json_normalize_errors(self):
# GH14583: If meta keys are not always present
# a new option to set errors='ignore' has been implemented
Expand Down Expand Up @@ -263,20 +262,24 @@ def test_json_normalize_errors(self):
}
]
}
j = json_normalize(data=i['Trades'], record_path=[['general', 'stocks']],
meta=[['general', 'tradeid'], ['general', 'trade_version']],
j = json_normalize(data=i['Trades'],
record_path=[['general', 'stocks']],
meta=[['general', 'tradeid'],
['general', 'trade_version']],
errors='ignore')
expected={'general.trade_version': {0: 1.0, 1: 1.0, 2: '', 3: ''},
'general.tradeid': {0: 100, 1: 100, 2: 100, 3: 100},
'name': {0: 'Apple', 1: 'Google', 2: 'Apple', 3: 'Google'},
'price': {0: '0', 1: '0', 2: '0', 3: '0'},
'symbol': {0: 'AAPL', 1: 'GOOG', 2: 'AAPL', 3: 'GOOG'}}
expected = {'general.trade_version': {0: 1.0, 1: 1.0, 2: '', 3: ''},
'general.tradeid': {0: 100, 1: 100, 2: 100, 3: 100},
'name': {0: 'Apple', 1: 'Google', 2: 'Apple', 3: 'Google'},
'price': {0: '0', 1: '0', 2: '0', 3: '0'},
'symbol': {0: 'AAPL', 1: 'GOOG', 2: 'AAPL', 3: 'GOOG'}}

self.assertEqual(j.fillna('').to_dict(), expected)

self.assertRaises(KeyError,
json_normalize, data=i['Trades'], record_path=[['general', 'stocks']],
meta=[['general', 'tradeid'], ['general', 'trade_version']],
json_normalize, data=i['Trades'],
record_path=[['general', 'stocks']],
meta=[['general', 'tradeid'],
['general', 'trade_version']],
errors='raise'
)

Expand Down

0 comments on commit 701c140

Please sign in to comment.