Matriz de salida a CSV en Ruby

Oluwafisayo Oluwatayo 15 febrero 2024
  1. ¿Qué es CSV?
  2. Cree un archivo CSV utilizando el método CSV.open en Ruby
  3. Cree un archivo CSV utilizando el método File.write en Ruby
  4. Genere el archivo CSV dentro de la terminal usando Ruby
  5. Conclusión
Matriz de salida a CSV en Ruby

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.

usando la función csv open

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.

utilizando la función de escritura de archivos

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.

cadena usando 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.

Oluwafisayo Oluwatayo avatar Oluwafisayo Oluwatayo avatar

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