Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

Convirtiendo formatos

Tengo una información en formato de diccionario Python. Quiero pasar dicha información a formato CSV para Google Sheets. El código se encuentra entre ###.

###
    '001': {
        'nombre': 'João',
        'edad': 30,
        'cargo': 'Gerente',
        'salario': 5000.00
    },
    '002': {
        'nombre': 'Maria',
        'edad': 25,
        'cargo': 'Analista',
        'salario': 3500.00
    },
    '003': {
        'nombre': 'Pedro',
        'edad': 28,
        'cargo': 'Desarrollador',
        'salario': 4000.00
    }
}
###

Respuesta de ChatGPT

Para convertir el diccionario en formato CSV, puedes utilizar el siguiente código en Python. Este código extrae los datos del diccionario y los escribe en un archivo CSV que puedes abrir en Google Sheets.

import csv

data = {
    '001': {
        'nombre': 'João',
        'edad': 30,
        'cargo': 'Gerente',
        'salario': 5000.00
    },
    '002': {
        'nombre': 'Maria',
        'edad': 25,
        'cargo': 'Analista',
        'salario': 3500.00
    },
    '003': {
        'nombre': 'Pedro',
        'edad': 28,
        'cargo': 'Desarrollador',
        'salario': 4000.00
    }
}

# Especifica el nombre del archivo CSV
csv_file = 'empleados.csv'

# Define las claves del diccionario como encabezados del CSV
fieldnames = ['ID', 'Nombre', 'Edad', 'Cargo', 'Salario']

# Escribe el diccionario en el archivo CSV
with open(csv_file, mode='w', newline='') as file:
    writer = csv.DictWriter(file, fieldnames=fieldnames)
    writer.writeheader()

    for key, value in data.items():
        row = {
            'ID': key,
            'Nombre': value['nombre'],
            'Edad': value['edad'],
            'Cargo': value['cargo'],
            'Salario': value['salario']
        }
        writer.writerow(row)

print(f"Archivo CSV '{csv_file}' creado exitosamente.")

Explicación del código

  1. Importación del módulo csv: El módulo csv se utiliza para manejar archivos CSV en Python.

  2. Definición del diccionario: El diccionario data contiene la información que deseas convertir a CSV.

  3. Nombre del archivo CSV: Se define csv_file como el nombre del archivo donde se almacenarán los datos.

  4. Encabezados del CSV: fieldnames define los nombres de las columnas en el archivo CSV.

  5. Escritura del archivo CSV:

  • Se abre el archivo empleados.csv en modo de escritura (w).
  • Se utiliza csv.DictWriter para escribir los datos en el archivo CSV.
  • Se escribe la fila de encabezados con writer.writeheader().
  • Se itera sobre cada ítem en el diccionario para escribir las filas correspondientes.

Resultado

El archivo empleados.csv se generará con el siguiente contenido:

ID,Nombre,Edad,Cargo,Salario
001,João,30,Gerente,5000.0
002,Maria,25,Analista,3500.0
003,Pedro,28,Desarrollador,4000.0

Este archivo lo puedes abrir en Google Sheets para visualizar y manipular los datos.

2 respuestas

Hola Florencia veo que has realizado un excelente trabajo, pero el ChatGPT tiene un error de escritura al ir a convertir a formato CVS, aunque lo hace bien llama el proceso "import cvs" cuando en verdad es "export to cvs" es decir de Python a cvs (conocido como archivo plano). Me sucedió lo mismo y le indiqué a ChatGPT y el aceptó el error pero me llamó la atención que no le hubiera dicho desde el principio "exportar" porque le dije solo "convertir". Interesante no?

Este es el enlace a mi primer prompt: https://chatgpt.com/share/7c8ac026-4ec2-4edc-a5ae-3eb2e58533d3

Y este al segundo Donde al editar el prompt solo cambie "convertir" por "exportar" donde ChatGPT fue lacónico diciendo (Al parecer no le gustó que lo corrigiera):

Tienes razón. En el contexto en el que estamos hablando, el proceso de convertir los datos de un diccionario Python a un archivo CSV se refiere a "exportar" los datos, no a "importar".

Exportar significa guardar o convertir los datos a un formato que pueda ser utilizado por otra aplicación, en este caso, un archivo CSV que luego puede ser importado a Google Sheets.

Importar se refiere a cargar o traer datos a una aplicación desde un archivo o fuente externa, como cuando cargas un archivo CSV en Google Sheets.

Gracias por señalarlo, y espero que la explicación y el código sean útiles para exportar tus datos al formato CSV.