Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafio: conversor de datos a CSV

tengo esta información de un diccionario de datos en python, esta 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 } } ### el formato tiene un identificador, y un nombre,edad,cargo y salario.

necesito convertirlo a formato svc (delimitado por comas).

muestre solo los datos formateados: id,nombre,edad,cargo,salario

Salida:

id,nombre,edad,cargo,salario 001,João,30,Gerente,5000.00 002,Maria,25,Analista,3500.00 003,Pedro,28,Desarrollador,4000.00

1 respuesta

Para convertir el diccionario de Python a un formato CSV, puedes seguir estos pasos:

  1. Organiza los datos en una estructura de lista de listas.
  2. Escribe los datos en un archivo CSV usando el módulo csv de Python.

Aquí tienes un ejemplo de cómo hacerlo:

import csv

# El diccionario de datos
datos = {
    '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
    }
}

# Convertir el diccionario a una lista de listas
cabeceras = ['id', 'nombre', 'edad', 'cargo', 'salario']
filas = [[id, datos[id]['nombre'], datos[id]['edad'], datos[id]['cargo'], datos[id]['salario']] for id in datos]

# Escribir los datos en un archivo CSV
with open('datos.csv', 'w', newline='') as archivo_csv:
    escritor_csv = csv.writer(archivo_csv)
    escritor_csv.writerow(cabeceras)  # Escribir las cabeceras
    escritor_csv.writerows(filas)     # Escribir las filas

Explicación del Código

  1. Definir el diccionario: Se define el diccionario con los datos de cada persona.
  2. Organizar los datos: Se crea una lista de listas para las filas del CSV, donde cada fila contiene los datos de cada persona.
  3. Escribir en el CSV:
    • Abrir el archivo: with open('datos.csv', 'w', newline='') abre (o crea) el archivo datos.csv en modo escritura.
    • Escribir las cabeceras: escritor_csv.writerow(cabeceras) escribe la primera fila con los nombres de las columnas.
    • Escribir las filas de datos: escritor_csv.writerows(filas) escribe todas las filas con la información.

Resultado en CSV

El archivo datos.csv generado tendrá el siguiente formato:

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 CSV puede ser importado a Google Sheets para su análisis.