Mostrando entradas con la etiqueta csv. Mostrar todas las entradas
Mostrando entradas con la etiqueta csv. Mostrar todas las entradas

17 de mayo de 2016

43. CSV

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 ejemplo
1.- 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