# ---
# jupyter:
#   jupytext:
#     text_representation:
#       extension: .py
#       format_name: light
#       format_version: '1.5'
#       jupytext_version: 1.14.4
#   kernelspec:
#     display_name: Python 3
#     language: python
#     name: python3
# ---

# # Leer y almacenar datos usando *Pandas*
#
# Lo que nos interesa durante el curso es poder hacer análisis de datos, al menos que se ingrese de manera manual cada dato en una sesión de Python sera necesario poder tener acceso a distintas fuentes de información, es decir poder cargar datos. Todos los datos se guradan en forma binaria (ceros y unos), en los principios de la computación cada persona decidía como se guardaba la información, esto generó muchos tipos de formatos y muchos problemas para compartir la información. Por tal motivo los distintos tipos de formatos se estandarizaron generando así formatos restrictivo pero que todo podian ser compartidos entre las personas. 
#
# La intención del curso no es que sepan como leer archivos en su forma binaria, si no hacer uso de las herramientas que se tienen disponibles para tal proposito. Nos enfocaremos en como usar las herramientas de *Pandas* para poder cargar y almacenar los datos de fuentes externa principalmenta a partir de archivos de texto que guerdan datos, formatos especializados para el almacenamiento de datos como son los archivos de excel (*.xsl*) o extraccion de fuentes de información como bases de datos. 
#
# ## Archivos CSV
#
# Los archivos que comunmente se utilizan para almacenar datos son conocidos como *CSV* que tienen terminación `.csv`, este tipo de archivos guarda los datos de una tabla en forma de texto usando comas para la separación de los datos, de hay el nombre de este tipo de archivo *coma separated value (CSV)*. 
#
# Podemos generar un archivo *csv* usando un editor de texto escribiendo el siguiente texto 
#
# `AKBA,"Akebia Therapeutics Inc.", $2.69, -7.30, -73.05% 
# CYCN,"Cyclerion Therapeutics Inc." , $6.44 , -1.25 , -16.36%
# EVGN,"Evogene Ltd.",$2.37, -0.44, -15.95%
# SPWH,"Sportsmans Warehouse Holdings Inc.",$14.50,-2.75,-15.94%
# CONN,"Conns Inc.", $11.54 ,-2.16,-15.77%
# `
#
# Y guardarlo con con el nombre  `prueba.csv`. 
#
# A continuación vamos a guardar el archivo usando únicamente usando código de *Python* lo ponemos aquí únicamente como referencia, por si se desea aprender como almacenar archivos de texto. 
#

archivo_ob= open('prueba.csv', 'w')
texto = """AKBA,"Akebia Therapeutics Inc.", $2.69, -7.30, -73.05% \n
CYCN,"Cyclerion Therapeutics Inc." , $6.44 , -1.25 , -16.36% \n
EVGN,"Evogene Ltd.",$2.37, -0.44, -15.95% \n
SPWH,"Sportsmans Warehouse Holdings Inc.",$14.50,-2.75,-15.94%\n
CONN,"Conns Inc.", $11.54 ,-2.16,-15.77% """
archivo_ob.write(texto)
archivo_ob.close()

# La función `open` nos permite generar un objeto de tipo archivo, el cual se abre en modo de escritura (para abrirlo en modo de lectura se utiliza el parámetro `'r'`), una vez con el objeto se utiliza el método `write` para escribir la cadena de texto dentro del archivo. Despues se cierra el archivo para almacenarlo dentro de disco.
#
# Para leer un archivo *csv* dentro de *Pandas* se utiliza la función `read_csv` la cual toma puede tomar distintos parámetros, los cuales dependen de como se encuentren nuestros datos, por lo cual es recomendable hacer una inspección del archivo *csv* con la intención de conocer lo que contiene el archivo, en algunas ocaciones esto no es posible debido al tamaño del archivo. 
#
# Como nosotros conocemos como se encuentra nuestro archivo 

import pandas as pd


df_1 = pd.read_csv('prueba.csv', header=None)
df_1

#

df_1.columns= ['Simbolo', 'Nombre', 'Ultimo','Cambio', 'Porcentage cambio']

df_1

df_1.to_csv('prueba_1.csv')

df_1



StarcoderdataJupyterScriptsDedupFiltered