Here's my take on a currency conversion table from Björn's URL. It uses Oleg's httpget.ijs to snatch data from the European Central Bank website. --BTW: the website in question has a seriously annoying robot face in the top right corner. :-)
NB. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ NB. Source of exchange rate data... URL=: 'http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html' require 'strings' NB. for: rplc load '~user/httpget.ijs' NB. http://www.jsoftware.com/jwiki/Scripts/HTTP%20Get detag=: monad define NB. strip out html tags z=: -. +/\(y='<')-(y='>') (z#y)-.'>' ) deLF=: #~ (+. (1: |. (> </\)))@(LF&~:) NB. c/f deb with LF not ' ' u2b=: [: <;._1 LF , ] NB. (LF-sep)-->boxed threes=: 3 : '((<.3%~$y),3)$y' NB. reshape: 3-cols currencytable=: monad define NB. extracts currency table from html source str: y z=. (('<tbody>' E. z)i. 1) }. z=.y z=. (('</tbody>' E. z)i. 1) {. z z=. (deLF detag z)-.TAB z=. z rplc ' ' ; '' ; (LF,' ') ; '' z=. threes }. u2b z ) exrate=: dyad define NB. the euro rate-of-exchange for a given currency NB. x is currency code, eg 'USD' or 'GBP' NB. y is table as returned by: currencytable z=. (0{"1 y)-.each ' ' NB. table key col (deblanked) z=. z i. <x NB. find first instance of x _".>(<z,2){y NB. return corresp numeral in col 2 ) ] z=: currencytable httpget URL ] 'GBP' exrate z NB. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Fn: currencytable gives a table like this: ┌────┬───────────────────────┬─────────┐ │USD │US dollar │1.2727 │ ├────┼───────────────────────┼─────────┤ │JPY │Japanese yen │119.34 │ ├────┼───────────────────────┼─────────┤ │BGN │Bulgarian lev │1.9558 │ ... Who can see how to improve on my code? Ian On Fri, May 7, 2010 at 4:14 AM, Ian Clark <[email protected]> wrote: > Thanks Björn. > > European Central Bank... why didn't I think of that? > > The format of the html looks nice'n'easy. I'll have fun writing a > utility to snatch the figures from it (Needed for TABULA). > > Ian > > > 2010/5/7 Björn Helgason <[email protected]>: >> http://www.ecb.int/stats/exchange/eurofxref/html/index.en.html >> >> 2010/5/7 Ian Clark <[email protected]>: >>> Does anyone do on-line currency conversion in J? >>> >>> Can somebody recommend a web-page where I can download conversion >>> factors for major currencies (without subscribing to a service)? Daily >>> updates will do. >>> >>> I'd use www.xe.com, but the tabular format is a bit cumbersome (though >>> not unmanageable). Surely simpler formats like csv are available? >>> >>> Ian >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >> >> >> >> -- >> Björn Helgason, Verkfræðingur >> Fornustekkum II >> 781 Hornafirði, >> t-póst: [email protected] >> gsm: +3546985532 >> sími: +3544781286 >> http://groups.google.com/group/J-Programming >> >> >> Tæknikunnátta höndlar hið flókna, sköpunargáfa er meistari einfaldleikans >> >> góður kennari getur stigið á tær án þess að glansinn fari af skónum >> /|_ .-----------------------------------. >> ,' .\ / | Með léttri lund verður | >> ,--' _,' | Dagurinn í dag | >> / / | Enn betri en gærdagurinn | >> ( -. | `-----------------------------------' >> | ) | (\_ _/) >> (`-. '--.) (='.'=) ♖♘♗♕♔♙ >> `. )----' (")_(") ☃☠ >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
