Categorías: Tutoriales

Escribir ficheros de datos en Python

En este sencillo ejemplo el programa escribe en un fichero llamado datos.csv el nombre, la edad y la altura de tres personas con su correspondiente identificador. Una vez que se haya creado este archivo de datos en formato csv, éste se puede procesar con hojas de cálculo como LibreOffice Calc.

Aquí tienes el código:

#!/usr/bin/env python

def main():
    f = open('datos.csv','w')
    f.write('ID,Nombre,Edad,Altura (cm)\n')
    f.write('00,Javier,23,177\n')
    f.write('01,Nacho,28,182\n')
    f.write('02,David,34,190')

if __name__ == '__main__':
    main()

Manuel Ignacio López Quintero

Doctor en Ingeniería Informática especializado en Sistemas Inteligentes y Visión Artificial. Profesor y coadministrador de Linux Hispano. Para más información o para contactar con él visita su página oficial: Manuel Ignacio López Quintero.

Ver comentarios

  • ¿Qué quieres que te diga? El ejemplo no es especialmente significativo, no aporta nada a Python en comparación con otros lenguajes.

    Por ejemplo, aquí tienes 8 formas de hacer lo mismo en PHP con la misma limpieza:

    #!/usr/bin/php
    fwrite("ID,Nombre,Edad,Altura (cm)n");
    $f->fwrite("00,Javier,23,177n");
    $f->fwrite("01,Nacho,28,182n");
    $f->fwrite("02,David,34,190n");

    // Programación estructurada con funciones específicas
    $f = fopen('datos4.csv', 'w');
    fputcsv($f, ['ID','Nombre','Edad','Altura (cm)']);
    fputcsv($f, ['00','Javier','23','177']);
    fputcsv($f, ['01','Nacho','28','182']);
    fputcsv($f, ['02','David','34','190']);

    // Programación orientada a objetos con funciones específicas
    $f = new SplFileObject('datos5.csv', 'w');
    $f->fputcsv(['ID','Nombre','Edad','Altura (cm)']);
    $f->fputcsv(['00','Javier','23','177']);
    $f->fputcsv(['01','Nacho','28','182']);
    $f->fputcsv(['02','David','34','190']);

    // Programación funcional con funciones específicas
    $datos = [
    ['ID','Nombre','Edad','Altura (cm)'],
    ['00','Javier','23','177'],
    ['01','Nacho','28','182'],
    ['02','David','34','190']
    ];

    $f = fopen('datos6.csv', 'w');
    array_walk($datos, function ($value) use ($f) {
    fputcsv($f, $value);
    });

    // Programación funcional con objetos
    $datos = [
    "ID,Nombre,Edad,Altura (cm)n",
    "00,Javier,23,177n",
    "01,Nacho,28,182n",
    "02,David,34,190n"
    ];

    $f = new SplFileObject('datos7.csv', 'w');
    array_walk($datos, function ($value) use ($f) {
    $f->fwrite($value);
    });

    // Programación funcional con objetos y funciones específicas
    $datos = [
    ['ID','Nombre','Edad','Altura (cm)'],
    ['00','Javier','23','177'],
    ['01','Nacho','28','182'],
    ['02','David','34','190']
    ];

    $f = new SplFileObject('datos8.csv', 'w');
    array_walk($datos, function ($value) use ($f) {
    $f->fputcsv($value);
    });

    • Parece que el sistema de comentarios me ha borrado parte del código que he puesto. Te envío una imagen del principio para que te hagas una idea.

      Un saludo.

    • Hugo, tienes razón. Mi código expuesto no es motivo para justificar la simplicidad de Python. Por lo menos en este caso.

      He quitado la descripción inicial para que se quede como un ejemplo de Python para escribir datos en un fichero de texto.

      Gracias por tu comentario. Estoy seguro que los programadores en PHP agradecerán tu aportación. Y ya sabes, en cualquier momento y si quieres puedes colaborar con nosotros, estaremos agradecidos. :-)

Compartir
Publicado por
Manuel Ignacio López Quintero

Entradas recientes

DeepSeek

2 días hace

Contacto

2 semanas hace

Smart-tv mute

2 semanas hace

STEAM OS

3 semanas hace

2025

4 semanas hace

El podcast de Linux Hispano – #072 – El hardware libre debe consolidarse como el software libre

https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.

1 mes hace