"%20" -> Leerzeichen usw.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
tantris
User
Beiträge: 10
Registriert: Donnerstag 31. August 2006, 10:05

"%20" -> Leerzeichen usw.

Beitragvon tantris » Samstag 5. Mai 2007, 20:06

Hallo,

ich bastle gerade an einem kleinen Skript, um die Geo-IP-Daten von hostip.info in eine Oracle-DB zu pumpen.
Dazu benutze ich die csv-Dateien von http://ftp.wayne.edu/hostip.info/csv/
in der hip_ip4_city_lat_lon tauchen allerdings in der "Namens"-Spalte scheinbar hex-escapede Zeichen auf (nennt man das so? Ich meine %20 für ein Leerzeichen etc.);
beispiel:
['50543872', 'Princeton%2C%20NJ', '40.3503', '-74.6594']

Leider fällt mir auf die Schnelle keine Python-Fkt. ein, um diese durch %XY codierten Zeichen in ein bestimmtes Encoding umzuwandeln... in welche Richtung muss ich dafür schauen?
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: "%20" -> Leerzeichen usw.

Beitragvon Leonidas » Samstag 5. Mai 2007, 20:14

tantris hat geschrieben:Leider fällt mir auf die Schnelle keine Python-Fkt. ein, um diese durch %XY codierten Zeichen in ein bestimmtes Encoding umzuwandeln... in welche Richtung muss ich dafür schauen?

Versuchts mal mit der Richtung ``urllib``. ``urllib.unquote()`` klingt nach genau dem richtigen.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
tantris
User
Beiträge: 10
Registriert: Donnerstag 31. August 2006, 10:05

Beitragvon tantris » Samstag 5. Mai 2007, 20:26

args, vielen, vielen Dank, Leonidas :)
Dass urllib.urlencode so einigermaßen das Gegengesetzte zu dem ist, was ich gesucht habe, wusste ich; nur hab ich dann nach sowas wie urldecode() gesucht ;-)
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Samstag 5. Mai 2007, 20:31

tantris hat geschrieben:Dass urllib.urlencode so einigermaßen das Gegengesetzte zu dem ist, was ich gesucht habe, wusste ich; nur hab ich dann nach sowas wie urldecode() gesucht ;-)

Ich für meinen Teil frage mich, warum es eigentlich dazu keinen Codec gibt, den man mit ``basestring.emcode()`` und ``basestring.decode()`` verwenden kann. Das fände ich eigentlich recht konsequent.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
niNer
User
Beiträge: 2
Registriert: Samstag 19. Mai 2007, 01:11

Beitragvon niNer » Mittwoch 13. Juni 2007, 23:14

Ich hätt ein ähnliches Problem...
Ich müsste eine URL dekodieren die so ('foo.py?action=dosth&name=douglas&alter=42') aussieht. Das decoded er mir mit unquote bzw. unquote_plus nicht...

Kann mir da wer weiterhelfen? Thx...
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Beitragvon veers » Mittwoch 13. Juni 2007, 23:44

Schau dir mal das CGI Modul an. Das kann Querystrings Parsen.

Code: Alles auswählen

In [2]: cgi.parse_qs('foo.py?action=dosth&name=douglas&alter=42')
Out[2]: {'alter': ['42'], 'foo.py?action': ['dosth'], 'name': ['douglas']
Benutzeravatar
niNer
User
Beiträge: 2
Registriert: Samstag 19. Mai 2007, 01:11

Beitragvon niNer » Donnerstag 14. Juni 2007, 01:54

Ah ja, stimmt! CGI! Hätt ich mir eigentlich denken sollen...

Dank Dir, veers!

Wer ist online?

Mitglieder in diesem Forum: Baidu [Spider]