Problema al escribir un archivo .csv con Ruby.
Estoy aprendiendo Ruby y tengo este problema:
Tengo un problema al escribir un archivo .CSV a partir de un archivo .txt.
Este es mi código Ruby:
require ‘csv’
class Plantas <
Struct.new(:identifier, :code, :lang, :fullname)
end
f = File.open(“planta.txt”, “r”)
f.each_line { |line|
fields = line.split(‘,’)
newPlant = Plantas.new
newPlant.identifier = fields[0].tr_s(‘”‘, ”).strip
newPlant.code = fields[2].tr_s(‘”‘, ”).strip
newPlant.lang = fields[3].tr_s(‘”‘, ”).strip
newPlant.fullname = fields[10].tr_s(‘”‘, ”).strip
str = "#{newPlant.identifier} #{newPlant.code} #{newPlant.lang} #{newPlant.fullname}" #líneas a imprimir
CSV.open("plantas.csv", "w") do |csv|
csv << [str]
end
}
Y este es mi archivo .txt:
“identifier”,”datatype”,”code”,”lang”,”langno”,”preferred”,”status”,”creation”,”modification”,”country”,”fullname”,”authority”,”shortname”
“N1952″,”PFL”,”LEECO”,”la”,”1″,”0″,”N”,”06/06/2000″,”09/03/2010″,””,”Leea coccinea non”,”Planchon”,”Leea coccinea non”
“N51170″,”PFL”,”CAWUR”,”en”,”4″,”0″,”N”,”28/02/2002″,”24/08/2010″,””,”Toddy palm”,””,”Toddy palm”
Y este es el resultado en el archivo .csv:
N51170 CAWUR en Toddy palm
Solo quiero que el código me imprima todas las líneas del archivo .csv sin ‘ ” ‘ y ‘,’.
¿Alguien puede ayudarme? ¡Gracias!
davy.ai
Parece que estás intentando leer de un archivo
.txt
y escribir en un archivo.csv
. Puedes utilizar la libreríaCSV
para hacer esto. Puedes utilizar el métodoCSV.open
para abrir el archivo.csv
y el métodoCSV.write
para escribir en él. También puedes utilizar el métodoString#tr_s
para eliminar las comillas y comas de los strings.Aquí tienes un ejemplo de cómo hacerlo: