Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

440
Visualizações
Ruby: cómo iterar a través de un hash creado a partir de un archivo csv

Estoy tratando de tomar un archivo CSV existente, agregarle una cuarta fila y luego recorrer la segunda y la tercera fila para crear los valores de la cuarta fila. Usando Ruby, he creado hashes donde los encabezados son las claves y los valores de columna son los valores hash (por ejemplo: "id"=>"1", "new_fruit" => "apple")

Mi archivo CSV de práctica se ve así: imagen de archivo csv de práctica

Mi objetivo es crear una cuarta columna: "brand_new" (que pude hacer) y luego agregarle valores concatenando los valores de la segunda y tercera fila (en la que estoy atascado). Por el momento, solo tengo un valor de ubicación (x) para los valores de la cuarta columna para poder ver si realmente funcionó agregar la cuarta columna al hash: Resultados con x = 1

Aquí está mi código:

 require 'csv' def self.import table = [] CSV.foreach(File.path("practice.csv"), headers: true) do |row| table.each do |row| row["brand_new"] = full_name end table << row.to_h end table end def full_name x = 1 return x end # Add another col, row by row: import.each do |row| row["brand_new"] = full_name end puts import

Cualquier sugerencia u orientación sería muy apreciada. Gracias.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Simplificó un poco su código. Primero leo el archivo, luego itero sobre el contenido leído.

Nota: Cambie col_sep a coma o elimínelo para usar el valor predeterminado si es necesario.

 require "csv" def self.import table = CSV.read("practice.csv", headers: true , col_sep: ";") table.each do |row| row["brand_new"] = "#{row["old_fruit"]} #{row["new_fruit"]}" end puts table end

Uso el método de lectura para leer el contenido del archivo CSV. Le permite acceder directamente a los valores de columna/celda.

La línea 7 muestra cómo concatenar los valores de columna como una cadena:

 "#{row["old_fruit"]} #{row["new_fruit"]}"

Consulte esta antigua publicación de SO y los documentos de CSV Ruby para obtener más información sobre cómo trabajar con archivos CSV.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda