Προς το περιεχόμενο

Χρειάζομαι ένα script (ή κάτι τέτοιο...)


grigas

Προτεινόμενες αναρτήσεις

Δημοσ.

Λοιπόν...η κατάσταση έχει ως εξής :

 

Για μία εργασία που έχω για το μεταπτυχιακό (group project) χρειάζομαι να μετατρέψω κάποιες χιλιάδες ταχυδρομικούς κωδικούς της Αγγλίας σε γεωγραφικές συντεταγμένες. Έχω βρει μία σελίδα που το κάνει αυτό ΑΛΛΑ να κάνω manually αυτή τη δουλειά είναι ολίγον δύσκολο.

 

Υπάρχει δυνατότητα με κάποιο τρόπο να μπορέσω να συνδέσω ένα αρχείο xls ή txt με την σελίδα αυτή και να μου κάνει export την αντιστοίχηση του κωδικού με τις συντεταγμένες? Η σελίδα είναι η ακόλουθη :

 

http://www.streetmap.co.uk/streetmap.dll?GridConvert?name=CV32%204AT&type=Postcode

 

Αυτό που θέλω εγώ είναι να δίνω τον ταχυδρομικό κωδικό (πχ MK43 0AL) και με το κουμπάκι Post Code τσεκαρισμένο να κάνει αναζήτηση και να μου δίνει από τον πίνακα που έχει παραπάνω τις τιμές του OS X , OS Y.

 

Επειδή από προγραμματισμό δεν κατέχω τίποτα, αν θα ήταν δυνατόν να μου φτιάξει κάποιο καλό παιδάκι τον σχετικό κώδικα....Αν φυσικά είναι κάτι το εύκολο...

 

Σας ευχαριστώ πάρα πολύ εκ των προτέρων..Είναι η πρώτη μου φορά που ποστάρω εδώ...

Δημοσ.

Eheis se kapoio arxeio olous tous taxydromikous kwdikes?

An nai, ola mporoun na ginoun automata.

Ehw ena scriptaki se perl, tha to prosarmosw sth selida kai ola komple.

Ela grnet an mporeis na ta poume pio eukola.

Δημοσ.

Da script:

>use Win32::Internet;

open(POSTCODES,"postcodes.txt");
open(OUTPUT,">output.csv");
while($postcode=<POSTCODES>){
chomp($postcode);
$INET = new Win32::Internet();
$OSX=$OSY='';
$url="http://www.streetmap.co.uk/streetmap.dll?GridConvert?name=$postcode&type=Postcode";
print "Downloading for $postcode\n";
   	$file = $INET->FetchURL($url),"\n";
   	print "Checking...\n";
if($file=~/OS X<\/strong> <\/td> <td width="50%" align="center" valign="middle">([0-9]*) <\/td>/){
	print "Got X: $1\n";
	$OSX=$1;
}
if($file=~/<strong>OS Y<\/strong> <\/td> <td width="50%" align="center" valign="middle">([0-9]*) <\/td>/){
	print "Got Y: $1\n";
	$OSY=$1;
}
if($file=~/can not be found/){
	print "Postcode not found : [$postcode]\n";
}
else{
	print OUTPUT "$postcode;$OSX;$OSY\n";
}
}
close(POSTCODES);
close(OUTPUT);

 

Thelei ena postcodes.txt tou styl:

>CV32 4AT
CV33 4AT
CV34 4AT
CV35 4AT

 

Vgazei output se consola:

>Downloading for CV32 4AT
Checking...
Got X: 431837
Got Y: 265809
Downloading for CV33 4AT
Checking...
Postcode not found : [CV33 4AT]
Downloading for CV34 4AT
Checking...
Got X: 428189
Got Y: 264795
Downloading for CV35 4AT
Checking...
Postcode not found : [CV35 4AT]

 

Kai ftiaxnei ena cvs pou tha anoikseis me to excel, ths morfhs:

>CV32 4AT;431837;265809
CV34 4AT;428189;264795

 

Filtrarei dhladh tous lathos postcodes.

Katevazeis activeperl apo activeperl.com,ftiaxneis to postcodes.txt,vazeis to script se ena .pl arheio sto idio directory kai to treheis.

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...