<jupyter_start><jupyter_text>T1 - 1 - Titanic  Leer archivo de datos .csv<jupyter_code>import pandas as pd
mainpath = "/Volumes/2ND_HDD/UDEMY/Curso Completo de Machine Learning/python-ml-course/datasets/"
filepath = "titanic/titanic3.csv"
fullpath = mainpath + filepath
data = pd.read_csv(fullpath)
data.head()
data2 = pd.read_csv(mainpath + "customer-churn-model/Customer Churn Model.txt")
data2.head()
data2.columns.values
data2_cols = pd.read_csv(mainpath + "customer-churn-model/Customer Churn Columns.csv")
data2_cols_list = data2_cols["Column_Names"].tolist()
data2 = pd.read_csv(mainpath + "customer-churn-model/Customer Churn Model.txt", 
                    header = None, names = data2_cols_list)
data2.columns.values
data2.head()<jupyter_output><empty_output><jupyter_text>Carga de datos a través de la función open<jupyter_code>data3 = open(mainpath + "customer-churn-model/Customer Churn Model.txt", "r")
cols_data3 = data3.readline().strip().split(",")
n_cols = len(cols_data3)
n_cols
counter = 0
main_dict = {}
for col in cols_data3:
    main_dict[col] = []
for line in data3:
    values = line.strip().split(",")
    for i in range(len(cols_data3)):
        main_dict[cols_data3[i]].append(values[i])
    counter += 1

print("El dataset tiene %d filas y %d columnas" %(counter, n_cols))
dataframe3 = pd.DataFrame(main_dict)
dataframe3.head()<jupyter_output><empty_output><jupyter_text>Lectura y escritura de ficheros usando la función open de python<jupyter_code>#Se crea una variable que contenga los nombre de los archivos a leer (infile) y a ecribir (outfile)
infile = mainpath + "customer-churn-model/Customer Churn Model.txt"
outfile = mainpath + "customer-churn-model/Tab Customer Churn Model.txt"
#Se crea un for loop que lee elemento por elemento
#lo guarda en una variable, y modifica el separador de "," a "/t" que es el delimitador de tabulador
with open(infile, "r") as infile1:
    with open(outfile, "w") as outfile1:
        for line in infile1:
            fields = line.strip().split(",")
            outfile1.write("\t".join(fields))
            outfile1.write("\n")
data4 = pd.read_csv(outfile, sep = "\t")
data4.head()<jupyter_output><empty_output><jupyter_text>Leer datos desde una URL<jupyter_code>medals_url = "http://winterolympicsmedals.com/medals.csv"
medals_data = pd.read_csv(medals_url)
medals_data.head()
import urllib3
http = urllib3.PoolManager()
r = http.request('GET', medals_url)
rawdata5 = r.data
# convertir el objeto de string binario a string convencional
data5 = rawdata5.decode('utf-8')

# dividir el string en un array de filas separandolo por \n
lines = data5.split("\n")

#extraer cabecera del array
colnames_data5 = lines[0].split(",")
n_cols_data5 = len(colnames_data5)

#Generar un diccionario vacio donde irá la información de la url externa.
count = 0
main_dicc = {}
for col in colnames_data5:
    main_dicc[col] = []

#Procesa fila a fila la infomación para rellenar el diccionario
for line in lines:
    #se omite la primera linea ya que contiene la cabecera
    if(count > 0):
        #se divide el string por comas como elemento separador
        value = line.strip().split(",")
        #se añade su valor a su respectiva columna en el diccionario
        for i in range(len(colnames_data5)):
            main_dicc[colnames_data5[i]].append(value[i])
    count += 1

print("El dataset tiene %d filas y %d columnas" %(count, n_cols_data5))

#convertir a dataframe con pandas
dataframe5 = pd.DataFrame(main_dicc)
dataframe5.head()

#lo guardamos en archivo para local ya que se encuentra organizado
dataframe5.to_csv(mainpath + "athletes/downloaded_medals.csv")<jupyter_output>El dataset tiene 2312 filas y 8 columnas<jupyter_text>Leer ficheros xls y xlsx<jupyter_code>xlspath = mainpath + "titanic/titanic3.xls"
data6 = pd.read_excel(xlspath, "titanic3")
data6.head()<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.11280724450194049, 'fraction_numerical': 0.01630012936610608, 'mean_word_length': 4.660322108345534, 'pattern_counts': {'":': 0, '<': 20, '<?xml version=': 0, '>': 21, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '311394', 'license': 'MIT', 'n_tokens_mistral': 1416, 'n_tokens_neox': 1411, 'n_words': 363, 'path': 'my notebooks/T1 - 1 - Titanic.ipynb', 'repo_name': 'diazidx/python-ml-course', 'size': '3865'}