es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Utilizando una columna de Excel en dos lugares JSON.

Tengo un archivo de Excel que estoy convirtiendo a JSON y fusionando con un archivo JSON existente.
El caso es que en Excel tengo una columna “ja” y valores en ella. ¿Hay alguna manera de agregar los valores de esa columna en JSON, en dos lugares: “ja” y “ja-jpa”?
Salida esperada:

"ja":{
    "Ball":"Ball",
    "Snow":"Schnee",
    "Elephant":"Elephant",
    "Woman":"Frau",
    "Potato":"Kartoffeln",
    "Tomato":"F",
    "Carrot":"G"
  },
  "ja-jpa":{
    "Ball":"Ball",
    "Snow":"Schnee",
    "Elephant":"Elephant",
    "Woman":"Frau",
    "Potato":"Kartoffeln",
    "Tomato":"F",
    "Carrot":"G"
  }
Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una forma de agregar valores de la columna “ja” en Excel al archivo JSON en las ubicaciones “ja” y “ja-jpn”. Aquí están los pasos que puedes seguir para obtener el resultado esperado:

    1. Convierte el archivo de Excel a un dataframe de pandas utilizando la función read_excel().
    2. Crea dos diccionarios vacíos para las llaves “ja” y “ja-jpn”.
    3. Recorre cada fila en el dataframe de pandas y agrega los valores a los diccionarios utilizando el nombre de la columna como llave y el valor como valor.
    4. Agrega los diccionarios completos al archivo JSON existente utilizando la función update().

    Aquí tienes un fragmento de código de ejemplo que demuestra estos pasos:

    import pandas as pd
    import json
    
    # Carga el archivo JSON existente
    with open('existing_json_file.json', 'r') as f:
        existing_json = json.load(f)
    
    # Carga el archivo de Excel al dataframe de pandas
    df = pd.read_excel('excel_file.xlsx')
    
    # Crea diccionarios vacíos para "ja" y "ja-jpn"
    ja_dict = {}
    ja_jpn_dict = {}
    
    # Recorre cada fila en el dataframe y agrega los valores a los diccionarios
    for index, row in df.iterrows():
        ja_dict[row['ja']] = row['ja']
        ja_jpn_dict[row['ja']] = row['ja']
    
    # Agrega los diccionarios completos al archivo JSON existente
    existing_json['ja'] = ja_dict
    existing_json['ja-jpn'] = ja_jpn_dict
    
    # Guarda el archivo JSON actualizado
    with open('updated_json_file.json', 'w') as f:
        json.dump(existing_json, f)
    

    Después de ejecutar este código, el archivo “updated_json_file.json” contendrá el resultado esperado como se muestra en la pregunta.

Comments are closed.