Name,Email Daniela,dani@web.de Willi,willi@gmx.de Gustaf,gusti@t-online.de Elfriede,elfi@web.de Karl,karl@gmx.de Waltraut,walli@gmx.com Ernst,ernst@freemail.com def multTab(n) m = Array.new(n+1); m[0] = Array.new(n+1); for i in 1..n m[i] = Array.new(n+1); for j in 1..n m[i][j] = i*j end; m[0][i]=i; m[i][0]=i; end; m[0][0] = "*"; return(m); end # multTab(3)-> [["*",1,2,3], # [1,1,2,3], # [2,2,4,6], # [3,3,6,9]] def csvWrite(file,a) h=File.open(file,"w"); for i in 0..a.size-1 for j in 0..a[i].size-1 h.print(a[i][j]); h.print(","); end; h.print("\n"); end end; p(multTab(10)); csvWrite("multTab.csv",multTab(100)) def csvRead(file) #yields an Array of Arrays of Strings lines=IO.read(file).split("\n"); for i in 0..lines.size-1 lines[i]=lines[i].split(","); end; return(lines); end; def lookupName(a,name) i = 0; while i=a.size then return(nil) else return(a[i][1,a[i].size]) end end; def csvWrite(file,a) h=File.open(file,"w"); for i in 0..a.size-1 for j in 0..a[i].size-1 h.print(a[i][j]); h.print(","); end; h.print("\n"); end end; numbers = csvRead("nummern.csv"); emails = csvRead("emails.csv"); for i in 0..numbers.size-1 emailAddr = lookupName(emails,numbers[i][0]); if emailAddr!= nil then numbers[i]=numbers[i]+emailAddr end end; for i in 0..emails.size-1 number = lookupName(numbers,emails[i][0]); if number== nil then numbers=numbers+([[emails[i][0],""*(numbers[0].size-1)]+ emails[i][1,emails[i].size]]) end end; csvWrite("nummernEmails.csv",numbers);Name,Nummer Daniela,12345 Willi,23456 Elfriede,34567 Karl,45678 Waltraut,56789 Ernst,67890 Brigitte,11111