Sunteți pe pagina 1din 13

TALLER DE PROGRAMACIÓN

Clase 11
Librería csv

Implementa clases para leer y escribir datos


tabulares en formato CSV.

import csv
Librería csv

Metodo reader()

datos01.csv

import csv TMIN,TMAX


12.2,30.4
13.5,32.6
fname = "datos01.csv" 11.4,31.9

f = open(fname,'r')
contenido = csv.reader(f,delimiter=‘,’)
for row in contenido:
print(row)
f.close()
Librería csv

Otra forma

datos01.csv

import csv TMIN,TMAX


12.2,30.4
13.5,32.6
with open('datos01.csv', newline='') as File: 11.4,31.9

contenido = csv.reader(File)
for row in contenido:
print(row)
f.close()
Librería csv
datos.csv
import csv A,B,”C D”
1,2,3
f = open('datos.csv','r') True,False,True
contenido = csv.reader(f)
rennum = 0
for row in contenido:
print(20*'-')
if rennum == 0 :
encabezado = row
else:
colnum=0
for col in row:
print('%-8s: %s'%(encabezado[colnum],col))
colnum+=1
rennum += 1
f.close()
Librería csv

Programa que lee desde consola el nombre del archivo csv como parámetro.

datos.csv

import csv A,B,”C D”


1,2,3
Import sys True,False,True

fname = sys.argv[1]
f = open(fname,'r')
contenido = csv.reader(f,delimiter=‘,’)
for row in contenido: C:> python miprog.py datos.csv
print(row)
f.close()
Librería csv

Metodo writer()

import csv
datos = [[1,2,3],[4,5,6],[7,8,9]]
fname = "datos01.csv"
f = open(fname,‘w')
writer = csv.writer(f,delimiter=‘,’,quotechar=‘”’,quoting=csv.QUOTE_ALL)
#writer = csv.writer(f,delimiter=',')
for row in datos:
writer.writerow(row)
f.close()
Librería csv

Algunos atributos de los métodos reader y writer de


la librería csv.
Tipo Descripción

Una cadena usada para separar campos, por


delimiter
defecto es ‘,’.

Si se establece a True, cualquier espacio en


skipinitialspace blanco despues del limitador es ignorado
inmediatamente.

Controla cuando deberían ser generadas las


quoting
citas cuando se lee o escribe a un CSV.
Librería csv

Tipos de citamiento (quoting)

Tipo Descripción

csv.QUOTE_ALL Citar todo, independientemente del tipo de dato

csv.QUOTE_MINIMAL Citar campos con caracteres especiales

Citar todos los campos que no son enteros o


csv.QUOTE_NONNUMERIC
flotantes

csv.QUOTE_NONE No citar nada


Ejercicio

Hacer un programa que lea el archivo Datos_MTR2003.csv.


Cada línea esta conformado por 13 columnas: Date, Time, Dir,
WSMDir, WSK, WSMK, AvgTemp, AvgRh, AvgBP, Rain, AvgSR,
Batt y Spanel. El programa debe hacer lo siguiente:

Cambiar el campo “Date” al formato AAAA-MM-DD.

Grafica con la precipitación, temperatura mínima y


temperatura máxima. Todos en sus valores diarios.

Grafica con los valores normalizados de temperatura,


radiación y humedad relativa. La escala normalizada será de 0
a 100.
Ejercicio

Estructura del archivo Datos_MTR2003.csv


Evaluaciones de la materia

Evaluación Porcent
aje
Examen 1 20
Proyecto 1: CLICOM 10
Proyecto 2: Otro 10
Presentación formatos de archivos (raster, netcdf, etc) 10
Proyecto final 20
Tareas (Ejercicios del 01 al 20 y tareas adicionales) 10
Examen final 20

Votación entre los alumnos inscritos.


Valor mínimo por evaluación 10%.
Valor máximo por evaluación 30%.
Proyecto 1: CLICOM

Hacer un programa que reciba como argumento de línea de


comando una clave valida de estación del CLICOM. El programa
debe abrir el archivo de datos correspondiente al estado, en
formato “.csv” y obtener todos los datos disponibles de
precipitación y temperatura máxima y mínima de la estación. Para
cada variable obtener:

• Promedio anual y mensual de temperaturas Fecha de entrega:


• Acumulado anual y mensual de precipitación Martes 17 de marzo
• Desviación estándar de las series de datos
• Fechas con los valores máximos de cada variable en el periodo
• % de datos desde el primero hasta el ultimo dato
• Graficar la serie de tiempo de las tres variables en gráficos por
separado.

Los resultados se deben guardar en un archivo de texto nombrado


con la clave de la estación y extensión “.ana”.

S-ar putea să vă placă și