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 rowAnalizar 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 rowsUsar 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'])
endIterar 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 outComillas 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 outSeparadores 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 rowsEscribir 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.readpara leerheaders: truepara obtener campos con nombreconverters: :numericpara obtener valores tipadosCSV.generate/CSV.openpara escribircol_seppara 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.