Csv2ical

Ciao a tutti,mi trovo nella necessità di trasformare dei file in formato
csv in ical, al fine di poterli importali in una rubrica.Ho trovato uno
script che potrebbe fare al caso mio, implementandolosecondo necessità,
ma al primo test con il file fornito a corredo ho un problema:

massimo@71G:~$ ruby1.9.1 csv2ical.rb test001.csv csv2ical - converting
[test001.csv] to [test001.ics]csv2ical.rb:36:in block in <main>': undefined method[]’ for #CSV:0x9c5d86c (NoMethodError) from
/usr/lib/ruby/1.9.1/csv.rb:1340:in open' from csv2ical.rb:34:in'massimo@71G:~$

Allego il file ottenuto utilizzando irbMi potreste spiegare come
ovviare?

GrazieMassimo

Ciao a tutti,
ho scoperto che dalla versione 1.9 di Ruby csv stato sostituito da
FASTERCSV
(CSV file reading in ruby 1.9 (fastercsv) | The Accidental Rubyist)

Il fatto che il programmino non funzionava era probabilmente legato a
questo, cos nella mia ignoranza stato abbastanza semplice adattarlo.

Purtroppo per mi processa solo la prima riga e non mi crea un file
unico con tutte le voci presenti nel file in formato CSV.

Sapete come dovrei risolvere?

Grazie
Massimo


cal = Icalendar::Calendar.new

ctr = 0

CSV.foreach(“#{$CSVFile}”, :quote_char => ‘"’, :col_sep =>‘,’, :row_sep
=>:auto) do |row|

puts "processing #{row[0]} #{row[1]} #{row[2]} #{row[3]} #{row[4]} "

event = cal.event
event.timestamp = DateTime.now
event.summary = row[3]
event.description = row[3]  + "\n\n" + row[4]
event.location = row[4]

start_date = Date.parse(row[0])
start_time = row[1]
event.start = DateTime.parse(start_date.to_s + " " + start_time)

end_date = Date.parse(row[0])
end_time = row[2]
event.end = DateTime.parse(end_date.to_s + " " + end_time)

    ctr +=1
    puts " #{ctr} righe"

break
end

tcfile = File.new(“#{$iCalFile}”, “w+”);
tcfile.puts cal.to_ical
tcfile.close;

Il 24/12/2010 18:36, home ha scritto: