Skip to content

Commit 2fed9a8

Browse files
committed
BUG: fix nested meta path bug in json_normalize (GH 27220)
1 parent 383f0e6 commit 2fed9a8

File tree

2 files changed

+14
-47
lines changed

2 files changed

+14
-47
lines changed

pandas/io/json/_normalize.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,6 @@ def _recursive_extract(data, path, seen_meta, level=0):
305305
# For repeating the metadata later
306306
lengths.append(len(recs))
307307
for val, key in zip(meta, meta_keys):
308-
309308
if level + 1 > len(val):
310309
meta_val = seen_meta[key]
311310
meta_vals[key].append(meta_val)

pandas/tests/io/json/test_normalize.py

Lines changed: 14 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -173,17 +173,17 @@ def test_empty_array(self):
173173

174174
def test_simple_normalize_with_separator(self, deep_nested):
175175
# GH 14883
176-
# result = json_normalize({"A": {"A": 1, "B": 2}})
177-
# expected = DataFrame([[1, 2]], columns=["A.A", "A.B"])
178-
# tm.assert_frame_equal(result.reindex_like(expected), expected)
179-
#
180-
# result = json_normalize({"A": {"A": 1, "B": 2}}, sep="_")
181-
# expected = DataFrame([[1, 2]], columns=["A_A", "A_B"])
182-
# tm.assert_frame_equal(result.reindex_like(expected), expected)
183-
#
184-
# result = json_normalize({"A": {"A": 1, "B": 2}}, sep="\u03c3")
185-
# expected = DataFrame([[1, 2]], columns=["A\u03c3A", "A\u03c3B"])
186-
# tm.assert_frame_equal(result.reindex_like(expected), expected)
176+
result = json_normalize({"A": {"A": 1, "B": 2}})
177+
expected = DataFrame([[1, 2]], columns=["A.A", "A.B"])
178+
tm.assert_frame_equal(result.reindex_like(expected), expected)
179+
180+
result = json_normalize({"A": {"A": 1, "B": 2}}, sep="_")
181+
expected = DataFrame([[1, 2]], columns=["A_A", "A_B"])
182+
tm.assert_frame_equal(result.reindex_like(expected), expected)
183+
184+
result = json_normalize({"A": {"A": 1, "B": 2}}, sep="\u03c3")
185+
expected = DataFrame([[1, 2]], columns=["A\u03c3A", "A\u03c3B"])
186+
tm.assert_frame_equal(result.reindex_like(expected), expected)
187187

188188
result = json_normalize(
189189
deep_nested,
@@ -297,41 +297,9 @@ def test_nested_meta_path_with_nested_record_path(self, state_data):
297297
)
298298
ex_data = {
299299
0: [
300-
"D",
301-
"a",
302-
"d",
303-
"e",
304-
"B",
305-
"r",
306-
"o",
307-
"w",
308-
"a",
309-
"r",
310-
"d",
311-
"P",
312-
"a",
313-
"l",
314-
"m",
315-
" ",
316-
"B",
317-
"e",
318-
"a",
319-
"c",
320-
"h",
321-
"S",
322-
"u",
323-
"m",
324-
"m",
325-
"i",
326-
"t",
327-
"C",
328-
"u",
329-
"y",
330-
"a",
331-
"h",
332-
"o",
333-
"g",
334-
"a",
300+
i
301+
for word in ["Dade", "Broward", "Palm Beach", "Summit", "Cuyahoga"]
302+
for i in word
335303
],
336304
"state": ["Florida"] * 21 + ["Ohio"] * 14,
337305
"shortname": ["FL"] * 21 + ["OH"] * 14,

0 commit comments

Comments
 (0)