Matriz de salida a CSV en Ruby
- ¿Qué es CSV?
-
Cree un archivo CSV utilizando el método
CSV.open
en Ruby -
Cree un archivo CSV utilizando el método
File.write
en Ruby - Genere el archivo CSV dentro de la terminal usando Ruby
- Conclusión
Hay momentos en los que estamos tratando con una larga lista de información y necesitamos organizarla para que sea fácil de leer; eso es lo que la CSV trae a la mesa.
¿Qué es CSV?
CSV significa valores separados por comas
, lo que significa que formatea los datos separándolos con comas.
Tal formato de salida hace que nuestros datos estén bien organizados en un formato tabular para que cuando un individuo los revise, pueda leerlos y editarlos fácilmente si es necesario.
Los datos CSV se pueden almacenar en su propio formato .csv
o en un archivo .txt
más común.
Usando el marco Ruby, veamos varias formas de crear archivos CSV a partir de los datos en una matriz.
Cree un archivo CSV utilizando el método CSV.open
en Ruby
En este ejemplo, crearemos una función CSV.open
e ingresaremos la ruta donde queremos que esté el archivo; luego, ingresaremos la matriz de datos que queremos organizar en formato CSV dentro de una etiqueta CSV.
Crearemos un nuevo archivo, lo llamaremos nuevo.rb
y escribiremos estos códigos:
require 'csv'
CSV.open("C:/Users/HP/Downloads/csv/outfield.txt", "w") do |csv|
csv << ["one", "two", "three", "four"]
csv << ["eight", "five"]
# ...
end
Una vez que ejecutemos este código, veremos el archivo outfield.txt
creado en la ruta que indicamos en el corchete CSV.open
. Luego veremos que agregamos una "w"
justo al lado de la ruta para asegurarnos de que podemos crear un archivo dentro de la ruta indicada.
Si le quitamos la "w"
de allí, veremos el mensaje de error: no abierto para escribir (IOError)
.
Cree un archivo CSV utilizando el método File.write
en Ruby
Este método no requiere que agreguemos la "w"
a la ruta en la que queremos que se cree el archivo. Esto se debe a que File.write
abre inmediatamente la ruta para escribir y luego crea el archivo.
Crearemos un nuevo archivo, lo llamaremos nuevo.rb
y escribiremos estos códigos:
tables = [["first", "second", "third"],["army", "marine", "navy", "blackops"], ["James", "Bond", "007"]]
require "csv"
File.write("C:/Users/HP/Downloads/csv/outfe.txt", tables.map(&:to_csv).join)
Aquí hemos creado la matriz dentro de la etiqueta tables
; luego, indicamos la ubicación en la que queremos que se cree el archivo dentro de la función File.write()
.
Luego usamos la función mapa
para devolver los datos en la matriz de tablas en formato CSV. Cuando ejecutemos este código, después de unos instantes, veremos el nuevo archivo creado en la ruta que hemos indicado.
Genere el archivo CSV dentro de la terminal usando Ruby
Este método no crea un archivo con los datos en formato CSV; en cambio, muestra los datos allí mismo en la terminal; esto es genial cuando queremos usar rápidamente los resultados o leer los datos en un formato más agradable.
Crearemos un nuevo archivo y lo llamaremos nuevo.rb
, luego escribiremos estos códigos:
require 'csv'
csv_string = CSV.generate do |csv|
csv << ["google", "bing", "ask", "search"]
csv << ["find", "seek"]
# ...
end
La función CSV.generate
toma la matriz en los corchetes csv
y genera los datos en formato CSV. Una vez que ejecutemos el código, veremos los datos en formato CSV dentro de la terminal.
Conclusión
La característica del CSV de organizar los datos claramente separándolos con comas hace que sea propicio para echar un vistazo a través de una larga lista de datos.
Fisayo is a tech expert and enthusiast who loves to solve problems, seek new challenges and aim to spread the knowledge of what she has learned across the globe.
LinkedIn