Basecamp: Ciencia de Datos
Basecamp: Ciencia de Datos
Ciencia de Datos
Obtención y Preparación de Datos
Objetivo de la jornada
f = open('workfile', 'w')
with open('workfile') as f:
read_data = f.read()
# Se puede revisar el archivo ha sido cerrado automáticamente
f.closed
True
f.read()
f.read()
''
f.readline() lee una sola línea del archivo; el carácter de fin de línea (\n)
se deja al final de la cadena, y sólo se omite en la última línea del archivo
si el mismo no termina en un fin de línea. Esto hace que el valor de retorno
no sea ambiguo; si f.readline() retorna una cadena vacía, es que se
alcanzó el fin del archivo, mientras que una línea en blanco es
representada por '\n', una cadena conteniendo sólo un único fin de línea.
f.readline()
f.readline()
f.readline()
''
Para leer líneas de un archivo, podés iterar sobre el objeto archivo. Esto
es eficiente en memoria, rápido, y conduce a un código más simple:
for line in f:
print(line, end = '')
Si quieres leer todas las líneas de un archivo en una lista también puedes
usar list(f) o f.readlines().
Otros tipos de objetos necesitan ser convertidos – tanto a una cadena (en
modo texto) o a un objeto de bytes (en modo binario) – antes de
escribirlos:
f = open('workfile', 'rb+')
f.write(b'0123456789abcdef')
16
f.seek(5)
f.read(1)
b'5'
f.seek(-3, 2)
13
f.read(1)
b'd'
Un archivo CSV (valores separados por comas) permite que los datos sean
guardados en una estructura tabular con una extensión .csv. Los archivos
CSV se usan de manera extensiva en aplicaciones de comercio electrónico
porque son considerados muy fáciles de procesar. Algunas de las áreas en
donde han sido usados incluyen:
● Exportar órdenes
● Función csv.reader
● Función csv.writer
● Clase csv.Dictwriter
● Clase csv.DictReader
csv.reader
import csv
csv.writer
import csv
DictWriter
Un dialecto es una clase ayudante usada para definir los parámetros para
una instancia reader o writer específica. Los parámetros de dialecto y
formato necesitan ser declarados cuando se realiza una función lectora o
writer.
Abajo está el código para leer los datos en nuestro CSV usando tanto la
función csv.reader como la clase csv.DictReader.
csv.reader
import csv
Salida
import csv
results = []
with open('example.csv') as File:
reader = csv.DictReader(File)
for now in reader:
results.append(row)
print(row)
Salida
csv.writer
import csv
with myFile:
write = csv.write(myFile)
write = writerows(myData)
print("Writing complete")
csv.Dictwriter
import csv
writer.writeheader()
writer.writerow({'Grade':'B', 'first_name': 'Alex',
'last_name':'Brian'})
writer.writerow({'Grade':'A', 'first_name': 'Rachel',
'last_name':'Rodriguez'})
writer.writerow({'Grade':'C', 'first_name': 'Tom',
'last_name':'smith'})
writer.writerow({'Grade':'B', 'first_name': 'Jane',
'last_name':'Oscar'})
writer.writerow({'Grade':'A', 'first_name': 'Kennzy',
'last_name':'Tim'})
print("Writing complete")
import csv
writer.writeheader()
writer.writerows({'Grade':'B', 'first_name': 'Alex',
'last_name':'Brian'}, {'Grade':'A', 'first_name': 'Rachel',
'last_name':'Rodriguez'}, {'Grade':'C', 'first_name': 'Tom',
'last_name':'smith'}, {'Grade':'B', 'first_name': 'Jane',
'last_name':'Oscar'}, {'Grade':'A', 'first_name': 'Kennzy',
'last_name':'Tim'})
print("Writing complete")
Librería xlrd
book = xlrd.open_workbook("myfile.xls")
print("El número de la hoja de trabajo es
{0}".format(book.nsheets))
print("Nombre(s) de hoja(s) de trabajo(s): {0}
{0}".format(book.nsheets))
sh = book.sheet_by_index(0)
import xlrd
archivo = 'C:Users/vaquerizo/Documents/ejemplo.xlsx'
wb = xlrd.open_workbook(archivo)
hoja = wb.sheet_by_index(0)
print(hoja.nrows)
print(hoja.ncols)
print(hoja.cell_value(0, 0))
archivo = 'C:Users/rvaquerizo/Documents/ejemplo.xlsx'
wb = xlrd.open_workbook(archivo)
hoja = wb.sheet_by_name('Hoja1')
hoja = wb.sheet_by_index(0)
nombres = hoja.row(0)
print(nombres)
archivo = 'C:Users/rvaquerizo/Documents/ejemplo.xlsx'
wb = xlrd.open_workbook(archivo)
hoja = wb.sheet_by_index(0)
# Creamos listas
filas = []
for fila in range(1, hoja.nrows):
columnas = []
for columna in range(0, 2):
columnas.append(hoja.cell_value(fila, columna))
filas.append(columnas)
import pandas as pd
df = pd.DataFrame(filas)
df.head()
Escritura de Excel con xlwd
style1 = xlwt.easyxf(num_format_str='D-MM-YY')
wb = xlwt.WorkBook()
ws.write(2, 0, 1)
ws.write(2, 1, 1)
ws.write(2, 2, xlwt.Formula("A3+B3"))
wb.save('example.xls')
Referencias
https://www.youtube.com/watch?v=qIgFO-fLXCk
https://pharos.sh/leer-y-escribir-archivos-csv-en-python-con-pandas/
https://programmerclick.com/article/9740120496/