Skip to content

Instantly share code, notes, and snippets.

@ramarivera
Last active March 12, 2021 15:34
Show Gist options
  • Save ramarivera/b72650e618b1dd638658e093ee099f63 to your computer and use it in GitHub Desktop.
Save ramarivera/b72650e618b1dd638658e093ee099f63 to your computer and use it in GitHub Desktop.
Web scraping 02, manejo de archivos
NOMBRE_DEL_ARCHIVO = 'prueba.txt'
with open(NOMBRE_DEL_ARCHIVO, mode='w+') as archivo:
archivo.write('Hola mundo!! \n')
NOMBRE = 'prueba.txt'
with open(NOMBRE, mode='a+', encoding='utf-8') as archivo:
lineas = archivo.readlines() # lineas es una lista de strings con cada linea del archivo como elemento.
# Tambien es posible procesar cada linea del archivo por separado
for index, linea in enumerate(archivo):
print(f'Linea Numero {index}: {linea}')
with open(NOMBRE, mode='a+', encoding='utf-8') as archivo:
# Tambien es posible procesar cada linea del archivo por separado
for index, linea in enumerate(archivo):
print(f'Linea Numero {index}: {linea}')
with open(NOMBRE, mode='a+', encoding='utf-8') as archivo:
contenido = archivo.read() # contenido tiene todo el texto del archivo en una sola variable de tipo string.
with open(NOMBRE, mode='w', encoding='utf-8') as archivo:
archivo.write('Hola \n') # Usamos write para escribir contenido dentro del archivo, '\n' inserta un salto de linea.
archivo.write('Esta es la segunda linea \n')
archivo.write('Y esta, la tercera y ultima')
import csv
# El retorno de la funcion es una tupla de la forma (lineas, cabeceras)
# Esta funcion se encarga de abrir un archivo csv, crear un lector de diccionario y devolver una lista de diccionarios (uno por cada linea)
# Las cabeceras son utilizadas para corresponder las columnas del archivo CSV con los campos de los diccionarios, y es necesario para guardar de nuevo el archivo
def abrir_archivo_csv(ruta):
with open(ruta, mode='r') as archivo:
lector_csv = csv.DictReader(archivo)
return [x for x in lector_csv], lector_csv.fieldnames
# El escritor de diccionario necesita como parametros un archivo y la lista de campos, o cabeceras.
# Luego, debemos recordar escribir las cabeceras usando writeheaders, para finalmente escribir cada uno de los elementos.
def guardar_archivo_csv(ruta, lineas, cabeceras):
with open(ruta, mode='w+') as archivo:
escritor_csv = csv.DictWriter(archivo, fieldnames=cabeceras)
escritor_csv.writeheader()
escritor_csv.writerows(lineas)
import json
NOMBRE = 'ejemplo.json'
datos = {"nombre": "Ramiro Rivera", "edad": 25}
with open(NOMBRE, mode='w') as archivo:
# La funcion dump toma dos parametros: el objeto a serializar y una variable archivo, en la cual persistira el contenido
json.dump(datos, archivo)
# Si queremos simplemente convertir el objeto a JSON (string) para utilizarlo en otro lugar. Notese que la funcion se llama dumps.
datos_string = json.dumps(datos)
with open(NOMBRE, mode='r') as archivo:
# Analogamente, la funcion load toma como parametro un archivo y devuelve un objeto python.
datos_archivo = json.load(archivo)
# Tambien esta disponible la version sin archivos de load, loads
datos_diccionario = json.loads(datos_string)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment