0Pricing
Ruby Academy · Lección

Trabajo con CSV

La biblioteca csv

Trabajo con CSV es una lección gratuita de Ruby Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ruby Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ruby Academy incluye 4 lecciones en total.

¿Qué es CSV?

CSV (valores separados por comas) almacena datos tabulares como texto sin formato: una fila por línea y los campos separados por comas. La biblioteca estándar csv de Ruby permite leerlo y escribirlo.

require 'csv'
row = CSV.parse_line('Alice,30,Engineer')
p row

Analizar una cadena CSV

CSV.parse convierte una cadena CSV de varias líneas en un array de arrays de filas.

require 'csv'
data = "name,age\nAlice,30\nBob,25"
rows = CSV.parse(data)
p rows

Usar encabezados

Pase headers: true para que la primera fila se convierta en nombres de campos y cada fila se comporte como un hash.

require 'csv'
data = "name,age\nAlice,30"
CSV.parse(data, headers: true).each do |row|
  puts(row['name'])
  puts(row['age'])
end

Iterar por las filas

Puede recorrer las filas analizadas como cualquier array y acceder a los campos mediante su índice.

require 'csv'
rows = CSV.parse("1,a\n2,b\n3,c")
rows.each { |r| puts "#{r[0]} -> #{r[1]}" }

Convertir tipos

Use converters: :numeric para convertir automáticamente los campos numéricos en Integers o Floats.

require 'csv'
rows = CSV.parse("10,20\n30,40", converters: :numeric)
puts(rows[0][0] + rows[1][1])

Generar CSV

CSV.generate crea una cadena CSV. Inserte arrays en el bloque para añadir filas.

require 'csv'
out = CSV.generate do |csv|
  csv << ['name', 'age']
  csv << ['Alice', 30]
end
puts out

Comillas y caracteres especiales

CSV aplica comillas automáticamente a los campos que contienen comas, comillas o saltos de línea, para mantener intacta la estructura.

require 'csv'
out = CSV.generate do |csv|
  csv << ['note', 'Hello, world']
end
puts out

Separadores personalizados

Para archivos separados por tabulaciones o punto y coma, establezca col_sep. Esto permite gestionar variantes TSV y CSV europeas.

require 'csv'
rows = CSV.parse("a;b;c", col_sep: ';')
p rows

Escribir en un archivo

CSV.open con el modo 'w' transmite las filas directamente a un archivo.

require 'csv'
require 'tmpdir'
path = File.join(Dir.tmpdir, 'people.csv')
CSV.open(path, 'w') do |csv|
  csv << ['name', 'age']
  csv << ['Carol', 28]
end
puts(File.read(path))

Leer de un archivo

CSV.read carga un archivo completo en un array de filas y acepta las mismas opciones que parse.

require 'csv'
require 'tmpdir'
path = File.join(Dir.tmpdir, 'nums.csv')
File.write(path, "x,y\n1,2\n3,4")
rows = CSV.read(path, headers: true)
puts(rows.first['y'])

Sumar una columna

Una tarea habitual es leer una columna y agregar sus valores. Combine los encabezados, la conversión numérica y map.

require 'csv'
data = "item,price\npen,3\nbook,12"
total = CSV.parse(data, headers: true, converters: :numeric).sum { |r| r['price'] }
puts(total)

Comprobación rápida

¿Qué opción permite acceder a los campos CSV por nombre de columna, como row['age']?

Resumen: trabajar con CSV

Puede gestionar datos tabulares:

  • CSV.parse / CSV.read para leer
  • headers: true para obtener campos con nombre
  • converters: :numeric para obtener valores tipados
  • CSV.generate / CSV.open para escribir
  • col_sep para TSV y otros delimitadores
require 'csv'
p CSV.parse_line('a,b,c')

Preguntas frecuentes

¿La lección «Trabajo con CSV» es gratis?

Sí — el texto completo de «Trabajo con CSV» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ruby Academy, actualiza a CoddyKit PRO. El curso de Ruby Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Trabajo con CSV»?

La biblioteca csv Practicas Ruby Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Ruby Academy?

No se requiere experiencia previa. Ruby Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Trabajo con CSV»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Ruby Academy?

Sí. Cada lección de Ruby Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Lectura y escritura de JSON
  2. Trabajo con CSV
  3. Configuración con YAML
  4. Elección de un formato
← Volver a Ruby Academy