dirname(@__FILE__)
"/home/runner/work/ciencia-datos-julia/ciencia-datos-julia/parts/firststeps"
Como en todo lenguaje de programación, deberemos gestionar la lectura y escritura de ficheros. El sistema de ficheros lo gestiona el sistema operativo de nuestra máquina con lo que se trata más bien de interactuar con este al menos de cara a conocer por ejemplo, dónde estamos ubicados.
dirname(@__FILE__)
"/home/runner/work/ciencia-datos-julia/ciencia-datos-julia/parts/firststeps"
Podemos crear carpetas de forma programática pero en la mayoría de casos se tratará de leer y escribir ficheros en rutas concretas. Para ello nos será útil la función joinpath
que nos ayuda a conformar rutas tal y como el sistema de ficheros requiere.
= dirname(@__FILE__)
root joinpath(root, "ejemplo.txt")
"/home/runner/work/ciencia-datos-julia/ciencia-datos-julia/parts/firststeps/ejemplo.txt"
Y como vimos anteriormente, usar la función readlines()
para leer su contenido.
= joinpath(root, "ejemplo.txt")
fichero readline(fichero)
"Hola desde un fichero!"
Imaginemos por tanto que queremos descargarnos un CSV (Comma Separated Value) con información sobre los pasajeros del Titanic
using Downloads
= "https://raw.githubusercontent.com/datasciencedojo/datasets/refs/heads/master/titanic.csv"
fichero_url = Downloads.download(fichero_url)
fichero readlines(fichero)[:20]
"19,0,3,\"Vander Planke, Mrs. Julius (Emelia Maria Vandemoortele)\",female,31,1,0,345763,18,,S"
Si queremos conservar el fichero para más adelante podemos recurrir a la función write()
y guardarlo donde nosotros queramos.
write("../../data/titanic.csv", read(fichero))
60302
Y podemos revisar el contenido iterando sobre walkdir()
que recorre los elementos de un directorio.
= walkdir("../../data/")
itr = first(itr) (root, dirs, files)
("../../data/", String[], [".gitkeep", "titanic.csv", "titanic.json", "titanic.parquet"])
Disponemos de los comandos más usuales a la hora de crear un directorio (mkdir()
) o adentrarnos en él (cd()
). Tenéis más detalle sobre los comandos disponibles aquí.