HeadlinesBriefing favicon HeadlinesBriefing.com

Analysieren der japanischen Post CSV Datei

Hacker News •
×

Vor einiger Zeit habe ich posuto veröffentlicht, ein Paket, das japanische Postleitzahldaten in einem benutzerfreundlichen Format präsentiert. Es basiert auf Daten, die von Japan Post veröffentlicht wurden, die als weit verbreitet, aber schwer zu analysierend bekannt sind. Ich wurde erstmals auf die Postdaten aufmerksam, als ich meine Postleitzahl in einem Online-Formular eingab und sie wurde automatisch mit der Adresse "XXX-borough (except the following buildings)" ergänzt.

Ich hatte keine Ahnung, worauf sich die Klammer bezieht, also suchte ich nach einer gängigen Quelle für Postdaten, fand die CSV-Datei und entdeckte das Problem. Es sich heraus, dass die CSV-Datei Klammeranmerkungen für jeden Leser der CSV-Datei enthält und auf die Reihenfolge der Zeilen verweist. Das verursacht Probleme.

Die Daten sind hauptsächlich zeilenweise nützlich, wobei die Klammeranmerkungen ohnehin bedeutlos sind. Da CSV ein feldbasiertes Format ist, ist keine Verwendung von Klammern erforderlich - Sie könnten einfach ein Anmerkungsfeld hinzufügen. Dies ist nur eine von vielen Problematik mit ken_all.csv.

Sie können regelmäßig Menschen finden, die darüber auf Twitter beklagen, und es gab sogar zumindest kurzzeitig einen Blog, der Beiträge aus allen Teilen des Webs darüber sammelte. Ein besonders amüsantes Tweet beschreibt, wie Menschen, die erwarten, dass Computer der menschlichen Willenskraft untergeordnet sind, im Höllenparadies bestraft werden, indem sie ewig ken_all.csv analysieren müssen. Die README der Datei erklärt, dass Zeilen mit überlangen Feldern in mehrere Zeilen aufgeteilt werden.

Insbesondere, wenn der Name des Bezirks mehr als 38 Zeichen lang ist, oder wenn das Halbweichen-Katakana-Lautfeld mehr als 76 Zeichen lang ist, wird die Zeile in zwei Zeilen aufgeteilt. Das überlangsame Bezirkfeld wird fortgesetzt und alle anderen Felder werden dupliziert. Es sollte auch angemerkt werden, dass die Längenbegrenzungen so angegeben sind, die Position, an der Zeilenumbrüche in langen Zeilen eingefügt werden, jedoch zufällig erscheint, weder an der Zeichenbegrenzung noch an normalen Wortgrenzen.

Es ist bemerkenswert, dass nicht alle Probleme mit der CSV inhärent technisch sind; Postleitzahlen sind immer komplex. Die Postleitzahl mit den meisten Zeilen in der CSV - ein erstaunliches 66 - ist 〒452-0961, die auf die Haruhi-Region der Stadt Kiyosu im Präfektur Aichi verweist. Dies hat diese viele Zeilen, weil jeder Bezirk eine separate Zeile erhält.

Im Gegensatz dazu ist die längste fortgesetzte Zeile, unter Verwendung der oben genannten Zeilenumbruchregeln, der Eintrag für 〒602-8368 oder 〒602-8374, beide mit acht Zeilen. Beide befinden sich in einem der wenigen Gebiete in Kyoto, die ein einzigartiges, merkwürdiges und auf Kreuzungen basierendes Adresssystem verwenden. Es gibt Sammelpostleitzahlen für viele Gebiete, bei denen der Bezirk als "except the following" angegeben wird und man nur das genaue String sucht und es ausschließen kann.

Es gibt eine Vielzahl ähnlicher Strings, und es ist schwer zu wissen, ob man sie alle gefunden hat. Ein Beispiel für einen anderen Kommentar ist 一円. Normalerweise würde dies "ein Yen" bedeuten, aber es bedeutet auch "das umliegende Gebiet", und ist ein Hinweis in der CSV, der aus den Bezirknamen entfernt werden sollte, außer...