La culpa fue del spectrum

La culpa fue del spectrum

sábado, 29 de julio de 2017

Leer un archivo csv dese ruby

Leer un CSV usando el lenguaje de programación Ruby, es bastante sencillo.

Existe la gema CSV, fácil de usar que nos lo pone muy sencillo. 

Comenzaremos incluyendo en nuestro código. 

require 'CSV'

 Ahora para leer las líneas de una en una y poder ir tratándolas.

CSV.foreach('ruta\archivo.csv') do |row1|

Paso el valor a un string que llamo cadena 

         cadena=row1.inspect 

Ahora como mi hoja csv tiene 7 columnas las paso a una matriz de la siguiente forma.

         elementos = cadena.split(",")

Previamente he definido elementos de la siguiente forma.

        elementos = []

De esta forma en la matriz elementos tengo el contenido de cada celda.

También puede darse el caso de que el csv venga separado por otro carácter que no sea una coma. 
En ese caso haré lo siguiente. 
       CSV.foreach('c:\tmp\MMAINT_T_IP.csv', {:col_sep => '#'})  do |row1| 
En este caso las columnas iban separadas por # 

Un ejemplo sencillo quedaría de la siguiente forma.

require 'CSV'
elementos = []

CSV.foreach('ruta\archivo.csv') do |row1|
    cadena=row1.inspect
    elementos = cadena.split(",")
end

elementos.each do |x|
    p x
end


Esto es muy útil cuando tengo que usar un csv para introducir o modificar datos en una tabla por SQL. En una próxima entrada seguiré con ello. 

 

 

No hay comentarios:

Publicar un comentario

Conduce entre la niebla

La culpa fue del spectrum