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