Cómo evitar el error “ValueError: All arrays must be of the same length” al cargar un JSON en Pandas

Es común al intentar cargar un JSON en un dataframe Pandas que obtengamos el error el tipo “ValueError: arrays must all be same length“. El problema se genera porque Pandas necesita que todas las columnas tengan la misma extensión, y en la estructura JSON esta característica no tiene porqué darse.

Para solucionar este problema, en vez de usar el clásico pandas.read_json usaremos pandas.json_normalize que normaliza los datos semiestruturados de JSON en una tabla plana:

# Carga de la librería json
import json
  
# Apertura del archivo
f = open('peticion_talento_update_json.json')
# Obtenemos un objeto del tipo dict
new_data = json.load(f)
# Lo convertimos en un dataframe Pandas normalizando el json
df = pd.json_normalize(new_data)
# Cierre del fichero
f.close() 
Para saber más:
How to convert JSON into a Pandas DataFrame
ValueError: All arrays must be of the same length

Deja una respuesta