[Python-es] Guardar en CSV una lista y Cargar el contenido del CSV en la Lista

Ricardo Cárdenes Medina ricardo.cardenes en gmail.com
Sab Jul 10 21:04:02 CEST 2010


    grabar.writerow(fruta)
_csv.Error: sequence expected

Como ves (por el mensaje de error), writerow espera que le pases una
secuencia de valores, no un objeto arbitrario.

Hay varias maneras de resolver esto. La más sencilla sería:

   grabar.writerow([fruta.nombre, fruta.color, fruta.peso])

Algo más orientado a objeto sería crear un método para la clase que
devuelva una tupla o lista con los valores; por ejemplo:

   grabar.writerow(fruta.como_tupla())

Por último, podrías hacer algo más "pythonico": que los objetos de
clase Fruta se comporten como secuencias, declarando métodos __len__ y
__getitem__.


Más información sobre la lista de distribución Python-es