jizdni rady: uzitecny parser

2 zpráv
Zpět na přehled

jizdni rady: uzitecny parser

2 zpráv PM 2 účastníků 4 min čtení
  1. Pavel Machek pavel na ucw.cz #mddac38
    Ahoj!
    Koukám na to rozbalování, máme to plus mínus stejně. Ale než tahle hala bala se mi více líbí rozbalení do struktury <dopravce>/<linka>/ To už mám rozvrtáno, večer dokončím a pošlu. Jediný problém na který jsem narazil bylo, že někteří dopravci mají ve svém jméně čárku, takže cut -d "," mi vrátil jen kousek. To se dá vyřešit přes cut -d '"'. Jenže to mně napadlo až teď ráno ;-)
    Ono by to chtelo poradne parsovat CSV...
    No a pak ještě ze zména dopravce buď úplně odstranit diakritiku, nebo ji převést z cp1250 do utf-8 (iconv -f cp1520 -t utf-8)
    Nastesti ten python si s charsetama celkem rozumi... tohle bylo nakonec rychle. Pridal jsem opravdovy parser, otaceni linek, a castecne parsovani poznamek. Rozhodnout se podle toho jejich systemu, ktery dny to teda jede bude jeste na dlouho. Kazdopadne kod je tady... http://timetab.cvs.sourceforge.net/viewvc/timetab/timetab/cz/cis/ ...a je dost zajimave videt jak maji ta data udelana "doopravdy". Pavel
  2. Marián Kyral mkyral na email.cz #m8591fc
    Ahoj!
    Koukám na to rozbalování, máme to plus mínus stejně. Ale než tahle hala bala se mi více líbí rozbalení do struktury <dopravce>/<linka>/ To už mám rozvrtáno, večer dokončím a pošlu. Jediný problém na který jsem narazil bylo, že někteří dopravci mají ve svém jméně čárku, takže cut -d "," mi vrátil jen kousek. To se dá vyřešit přes cut -d '"'. Jenže to mně napadlo až teď ráno ;-)
    Ono by to chtelo poradne parsovat CSV...
    No a pak ještě ze zména dopravce buď úplně odstranit diakritiku, nebo ji převést z cp1250 do utf-8 (iconv -f cp1520 -t utf-8)
    Nastesti ten python si s charsetama celkem rozumi... tohle bylo nakonec rychle. Pridal jsem opravdovy parser, otaceni linek, a castecne parsovani poznamek. Rozhodnout se podle toho jejich systemu, ktery dny to teda jede bude jeste na dlouho. Kazdopadne kod je tady... http://timetab.cvs.sourceforge.net/viewvc/timetab/timetab/cz/cis/ ...a je dost zajimave videt jak maji ta data udelana "doopravdy". Pavel
    Moc pěkné. Zatím nevím, jestli mi to k něčemu bude, ale je to fakt pěkné :-D Já mezitím splácal skript, který ta čísílka trochu přeorganizuje: $ ls -la Dopravní\ podnik\ Dopravní podnik hl.m. Prahy, a.s./ Dopravní podnik města České Budějovice, a.s./ Dopravní podnik města Olomouce, a.s./ Dopravní podnik měst Chomutova a Jirkova a.s./ Dopravní podnik Karlovy Vary, a.s./ Dopravní podnik města Děčína, a.s./ Dopravní podnik města Pardubic a.s./ Dopravní podnik měst Liberce a Jablonce nad Nisou, a.s./ Dopravní podnik Kněžmost, s.r.o./ Dopravní podnik města Hradce Králové, a.s./ Dopravní podnik města Ústí nad Labem a.s./ Dopravní podnik Mladá Boleslav, s.r.o./ Dopravní podnik města Brna, a.s./ Dopravní podnik města Jihlavy, a.s./ Dopravní podnik Města Vlachovo Březí, s.r.o./ Dopravní podnik Ostrava a.s./ $ ls -la Dopravní\ podnik\ města\ Děčína\,\ a.s./ celkem 328 drwxr-xr-x 17 marian users 4096 2. zář 22.18 . drwxr-xr-x 240 marian users 266240 2. zář 22.59 .. drwxr-xr-x 2 marian users 4096 2. zář 22.09 515001 drwxr-xr-x 2 marian users 4096 2. zář 22.09 515002 drwxr-xr-x 2 marian users 4096 2. zář 22.13 515004 drwxr-xr-x 2 marian users 4096 2. zář 22.14 515005 drwxr-xr-x 2 marian users 4096 2. zář 22.13 515006 drwxr-xr-x 2 marian users 4096 2. zář 22.09 515007 drwxr-xr-x 2 marian users 4096 2. zář 22.13 515008 drwxr-xr-x 2 marian users 4096 2. zář 22.08 515009 drwxr-xr-x 2 marian users 4096 2. zář 22.10 515010 drwxr-xr-x 2 marian users 4096 2. zář 22.07 515012 drwxr-xr-x 2 marian users 4096 2. zář 22.18 515014 drwxr-xr-x 2 marian users 4096 2. zář 22.08 515017 drwxr-xr-x 2 marian users 4096 2. zář 22.16 515032 drwxr-xr-x 2 marian users 4096 2. zář 22.08 515033 drwxr-xr-x 2 marian users 4096 2. zář 22.08 515037 $ cat organize.sh #!/bin/bash ls -1d [0-9]* |sort -n |while read D; do Dopravce=$(cat $D/Dopravci.txt |head -n 1 |iconv -f cp1250 -t utf-8|cut -d '"' -f 6); Linka=$(cat $D/Linky.txt |cut -d '"' -f 2); DR="${Dopravce}/${Linka}"; echo "$D: $DR" mkdir -p "$DR"; ls -1 $D/*.txt |while read FTX; do cat $FTX |iconv -f cp1250 -t utf-8 > "$DR/$(basename $FTX)"; done; done Kdo nechce převádět soubory do utf-8 nechť si laskavě ve třetím řádku odspodu nahradí cat |iconv ... za mv. Marián
Napsat odpověď e-mailem… Odpovědět

Otevře váš e-mailový klient. Odpovědi pak sledujte zde na webu.