Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'csv'
- require 'rubygems'
- require 'mysql'
- # Kleines Programm um o2-rechnungs-csv-files in DB zu importieren.....
- # sucht nach allen CSV.txt files im gleichen Verzeichnis und laedt diese in die vorher angelegte Datenbank hoch
- # Quick'n dirty!! have fun! 09-01-05-cg
- host=
- user=
- pass=
- db=
- @connector = Mysql.real_connect(host,user,pass,db)
- def putToDatabase(file)
- puts file
- CSV.open(file, 'r', '|') do |row|
- begin
- row[22] = 0.to_s if row[22]==nil
- query = "REPLACE INTO billing (tabellentyp, kontonr, rechnungsnr, mobilfunknr, festnetznr, \
- rvnr, marke, tarif, tarifgruppe, feld1, \
- feld2, feld3, feld4, datum, uhrzeit, \
- rufnummer, dauer, betrag, ursprung, zielort, \
- art, dienst, datenvol, preisklasse, anzahl, typ) \
- VALUES (#{row[0]}, #{row[1]}, #{row[2]}, '#{row[3]}', '#{row[4]}', \
- '#{row[5]}','#{row[6]}', '#{row[7]}', '#{row[8]}', '#{row[9]}', \
- '#{row[10]}', '#{row[11]}', '#{row[12]}', '#{row[13][6..12].to_s+"-"+row[13][3..4].to_s + "-"+row[13][0..1].to_s}', '#{row[14]}', \
- '#{row[15]}','#{row[16]}', #{row[17].gsub(',','.')}, '#{row[18]}', '#{row[19]}', \
- '#{row[20]}', '#{row[21]}',#{row[22].gsub(' KB','000').gsub(' MB','000000')}, '#{row[23]}', '#{row[24]}', \
- '#{row[25]}');" if row[0] != 'TABELLENTYP'
- res = @connector.query(query) if query != nil
- rescue NoMethodError
- puts "#{file}: #{row}. Konnte nicht eingelesen werden!"
- rescue StandardError
- puts "#{file}: #{row}. MySQL-Error!"
- end
- end
- end
- Dir.open('.').each do |file|
- putToDatabase(file) if File.file?(file) && file =~ /CSV\.txt$/
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement