Commit 073615f0 authored by Christian Schmiegelow's avatar Christian Schmiegelow

Upload New File

parent 750b2ad9
Pipeline #41 canceled with stages
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Tue Aug 18 14:03:56 2020
@author: labo4_2020
"""
"""
Para trabajar con tiras de números, la librería por excelencia es numpy. Se la suele importar
con la abreviatura np.
"""
import numpy as np
"""
La función np.loadtxt carga datos csv o txt, con o sin headers. En la documentación
oficial van a encontrar los parámetros que se le pueden dar a la función.
Primero, verificar que el path (la ruta) donde se están ejecutando los scripts coincida con la carpeta
donde está el archivo a cargar (hay librerías que permiten cambiar la ruta automáticamente, una es OS).
Luego, hay que prestar atención a la forma en la que los datos están guardados:
-Si están en columnas (recomendado) o en filas. Si está en columnas, poner True la variable unpack para trasponer la lectura (ver ejemplos).
-Si tienen headers (encabezado), y cuántas líneas, en cuyo caso hay que saltearlas con skiprows
-Si la separación entre columnas se hace con una coma, espacio o tabulación, el cual hay que especificar con delimiter
-El tipo de datos a cargar, especificado en la variable dtype (por default es float, es decir, número con coma)-
"""
#%% Ejemplo 1.
Datos1 = np.loadtxt('dataEjemplo/data01.csv', delimiter=',', skiprows=1)
DatosTranspuestos1 = np.transpose(Datos1) #Si se carga los datos como dos columnas hay que trasponerlo. Sino no es necesario
Tiempo1 = DatosTranspuestos1[0]
Voltaje1 = DatosTranspuestos1[1]
#%% Ejemplo 2.
Datos2 = np.loadtxt('dataEjemplo/data02.txt', delimiter=' ', skiprows=1)
DatosTranspuestos2 = np.transpose(Datos2) #Si lo carga como dos columnas hay que trasponerlo. Sino no es necesario
Tiempo2 = DatosTranspuestos2[0]
Voltaje2 = DatosTranspuestos2[1]
#%% Ejemplo 3: todo en una sola línea.
Tiempo1b, Voltaje1b = np.loadtxt('dataEjemplo/data03.txt', delimiter=',', skiprows=1, unpack=True)
#%% Ejemplo 4: leer los Headers especificando el dtype como string.
TiempoStr, VoltajeStr = np.loadtxt('dataEjemplo/data03.txt', dtype=str, delimiter=',', skiprows=0, unpack=True)
HeaderTiempo = TiempoStr[0] #será un string con el primer dato de la primera columna
HeaderVoltaje = VoltajeStr[0] #será un string con el primer dato de la segunda columna
print(HeaderTiempo)
print(HeaderVoltaje)
#%%Ejemplo 5: leer muchos archivos a la vez
#Nota: Para correr este ejemplo, asegurarse de que en la carpeta estén los archivos medicion0.txt hasta medicion4.txt.
VectoresTiempos = []
VectoresVoltajes = []
N = 5 #es la cantidad de mediciones a leer.
i = 0
while i < N:
Tiempo, Voltaje = np.loadtxt('dataEjemplo/medicion' + str(i) + '.txt', delimiter=',', skiprows=0, unpack=True) #la sintaxis concatena los strings 'medicion', con el valor de la medicion hecho string, con la extensión '.txt'.
VectoresTiempos.append(Tiempo) #agregamos el vector a la lista VectoresTiempos
VectoresVoltajes.append(Voltaje) #agregamos el vector a la lista VectoresVoltajes
i = i + 1 #no olvidarse esta línea para que el loop termine
#Para leer cada una de las mediciones basta con evaluar los distintos elementos de los vectores:
Tiempos0 = VectoresTiempos[0]
Voltajes0 = VectoresVoltajes[0]
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment