El módulo de lectura de ficheros CSV
Módulo CSV
NOTA: Para los ejemplos, descárgate el fichero csv llamado "temperatura_media.csv", que contiene una serie de datos de temperaturas desde el año 1997 al 2012 de una ciudad española. En la misma carpeta donde ejecutarás los programas de ejemplo1.- Recuperar datos
# -*- coding: utf-8 -*- import csv f = open("temperatura_media.csv", 'r') try: reader = csv.reader(f) for i, row in enumerate(reader): print ("Fila: %d --> %s") % (i,row) finally: f.close()Uso reader() para extraer datos en formato csv, de un fichero directamente.
= = =
2.- Escribe datos
Este programa va leyendo y añadiendo una fila de datos (aleatoriamente) por cada año después de 2012. Analiza el programa y observa los comandos para usar csv para escribir en el fichero de temperaturas medias.
# -*- coding: utf-8 -*- import csv, random, statistics as st f = open("temperatura_media.csv", 'r') ultimo = [] try: reader = csv.reader(f) for i,row in enumerate(reader): ultimo = row print row finally: print "He terminado de leer datos" f.close() # añado un nuevo dato # calculado en torno al anterior nuevo = [] for i, dato in enumerate(ultimo): if i==0: nuevo.append(int(dato)+1) elif i>0 and i<11: signo = random.randrange(-1,1,2) x = float(dato.replace(",",".")) nuevo.append(x + random.randrange(-50,50,1)/10) media = st.mean(nuevo[1:]) nuevo.append(media) print nuevo escribir =[] for i, dato in enumerate(nuevo): escribir.append(str(dato).replace(".",",")) print "Añadiré el dato: ", escribir f = open("temperatura_media.csv", 'a') archivo_escribir = csv.writer(f) archivo_escribir.writerow(escribir) f.close()
= = =
Documentación de csv
No hay comentarios:
Publicar un comentario