abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:22 | Komunita

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 216. sraz, který proběhne v pátek 20. února od 18:00 v Red Hat Labu (místnost Q304) na Fakultě informačních technologií VUT v Brně na ulici Božetěchova 1/2. Tématem srazu bude komunitní komunikační síť MeshCore. Jindřich Skácel představí, co je to MeshCore, předvede nejrůznější klientské zařízení a ukáže, jak v praxi vypadá nasazení vlastního repeateru.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | Nová verze

    Byla vydána nová major verze 9.0 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 13:55 | IT novinky

    Hodnota Bitcoinu, decentralizované kryptoměny klesla pod 70 000 dolarů (1,44 milionu korun).

    Ladislav Hagara | Komentářů: 5
    včera 13:22 | IT novinky

    Valve z důvodu nedostatku pamětí a úložišť přehodnocuje plán na vydání zařízení Steam Controller, Steam Machine a Steam Frame: „Cílem tedy stále zůstává vydat všechna tři nová zařízení v první polovině letošního roku, ale přesná data a ceny jsou dvě věci, na kterých usilovně pracujeme a jsme si dobře vědomi toho, jak rychle se v tomto ohledu může vše změnit. Takže ač dnes žádné zveřejnitelné údaje nemáme, hned jak plány finalizujeme, budeme Vás informovat.“

    Ladislav Hagara | Komentářů: 1
    včera 03:11 | Komunita

    Do 20. února lze hlasovat pro wallpapery pro Ubuntu 26.04 s kódovým názvem Resolute Raccoon.

    Ladislav Hagara | Komentářů: 2
    včera 02:22 | Nová verze

    Byla vydána lednová aktualizace aneb nová verze 1.109 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.109 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 1
    4.2. 19:33 | Zajímavý projekt

    Na Kickstarteru běží kampaň na podporu modulárního otevřeného handheldu Mecha Comet s Linuxem.

    Ladislav Hagara | Komentářů: 6
    4.2. 14:00 | Humor

    V nedávno zveřejněné kolekci dokumentů souvisejících s kontroverzním finančníkem a kuplířem Jeffrey Epsteinem se překvapivě objevil i referenční manuál unixového shellu Bash, jedná se o verzi manuálu z roku 2005. Aktuální vydání si lze stáhnout ze stránek GNU.

    NUKE GAZA! 🎆 | Komentářů: 17
    4.2. 13:55 | Nová verze

    The Document Foundation oznámila vydání nové verze 26.2 svobodného kancelářského balíku LibreOffice. Podrobný přehled nových vlastností i s náhledy v poznámkách k vydání (cs). Vypíchnout lze podporu formátu Markdown.

    Ladislav Hagara | Komentářů: 0
    4.2. 12:22 | Pozvánky

    Co se děje ve zprávách, ví asi každý - válka sem, clo tam, demonstrace na jednu i druhou stranu a bastlíř už má pocit, že se snad ani nic jiného neděje. To by však byl velký omyl a Virtuální Bastlírna je zde jako každý měsíc, aby vytáhla na světlo světa události ze světa vědy a techniky. Připojte se tedy nezávaznému povídání Strahovského MacGyvera! Co se tam bude probírat? PCBWay začalo dělat průhledné plošňáky, MARS končí s výrobou skříněk, FEL

    … více »
    bkralik | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (6%)
     (0%)
     (10%)
     (25%)
     (3%)
     (5%)
     (2%)
     (12%)
     (30%)
    Celkem 771 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Skript na "prerozdelenie dát" v CSV

    7.4.2010 15:49 Peter
    Skript na "prerozdelenie dát" v CSV
    Přečteno: 305×

    Dobrý deň prajem.

    Mám jeden veľký CSV súbor (cca 1.000.000 záznamov) ktorý vyzerá takto:

    "poradove_cislo","Priezvisko Meno","Titul","PSČ","Mesto","Ulica","číslo_domu","Telefón"

    a ja ho potrebujem mať takto:

    "Titul","Meno","Priezvisko","Telefón","Ulica číslo_domu","Mesto","PSČ"

    Ide hlavne o to, že hlavne potrebujem "rozdeliť" sĺpec ("Priezvisko Meno") na ("Meno","Priezvisko") a "spojiť" sĺpce ("Ulica","číslo_domu") na ("Ulica číslo_domu").

    Absolútne ale nemám potuchy, že kde začať a aké CLI nástroje na to použíť. Preto od vás drzo prosím ilustračný príklad. :-D

    Vopred veľmi pekne ďakujem.


    Řešení dotazu:


    Odpovědi

    7.4.2010 16:09 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Skript na "prerozdelenie dát" v CSV
    A to je nějakej problém si v cyklu načíst ty proměnné a zapsat je do druhého souboru a pak ten starý smazat a nový přejmenovat?

    Nebo kde je problém ?
    7.4.2010 17:01 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Skript na "prerozdelenie dát" v CSV
    Pokud je CSV generováno a je striktně dodrženo, že mezi čárkou a uvozovkami není mezera a jedná se jen o jeden převod, tak přes editor vi(m) (soubor bude tak do 200MiB a to se zvládne na běžném PC):
    cp muj.csv out.csv
    vim out.csv
    
    a ve víčku zadat (zapsat znak ':' a pak zkopírovat zbytek):
    :%s/^"\([^",]*\)","\([^",]*\)\ \([^",]*\)","\([^",]*\)","\([^",]*\)","\([^",]*\)","\([^",]*\)","\([^",]*\)","\([^",]*\)"$/"\4","\3","\2","\9","\7 \8","\6","\5"/g
    
    asi chvilku počkat
    a pak třeba:
    :wq
    
    Samozřejně RegExpr se dá použít kdekoliv a jakkoliv je upravit.:)
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    7.4.2010 17:09 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Skript na "prerozdelenie dát" v CSV
    Sorry, nevím na co myslím, opravička:
    :%s/^"\(.*\)","\(.*\)\ \(.*\)","\(.*\)","\(.*\)","\(.*\)","\(.*\)","\(.*\)","\(.*\)"$/"\4","\3","\2","\9","\7 \8","\6","\5"/g
    
    Bude rozhodně lepší :)
    CSV může mít uvozovky mezi uvozovkami (zapsány zdvojeně) a samozřejmě může být mezi uvozovkami čárka.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    Tarmaq avatar 7.4.2010 17:57 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Skript na "prerozdelenie dát" v CSV
    Proc to psat ve vimu? Neni lepsi na to pouzit sed? Vzdyt to je uplne stejne..
    $ cat foo 
    "poradove_cislo","Priezvisko Meno","Titul","PSC","Mesto","Ulica","cislo_domu","Telefon"
    $ sed 's/^"\(.*\)","\(.*\)\ \(.*\)","\(.*\)","\(.*\)","\(.*\)","\(.*\)","\(.*\)","\(.*\)"$/"\4","\3","\2","\9","\7 \8","\6","\5"/g' foo 
    "Titul","Meno","Priezvisko","Telefon","Ulica cislo_domu","Mesto","PSC"
    
    Don't panic!
    7.4.2010 18:03 Peter
    Rozbalit Rozbalit vše Re: Skript na "prerozdelenie dát" v CSV
    Samozrejme, že aj toto funguje perfektne. Chlapci - vrelá vďaka, aspoň som si rozšíril obzory s regexp.
    7.4.2010 18:39 Šangala | skóre: 56 | blog: Dutá Vrba - Wally
    Rozbalit Rozbalit vše Re: Skript na "prerozdelenie dát" v CSV
    No čekal jsem, že to někdo stihne napsat dřív… :)

    Odpověď na Vaše otázky je jednoduchá, v obráceném pořadí:
    Za daných okolností „není“ :)
    a tady je odpověď na to „proč“ :):
    Důležité je to RegExp a je jedno kde jej použijete a ve víčku si to můžete opakovaně zkoušet a ladit a okamžitě vidět výsledek (třeba jen na jednom řádku). Takže mi přijde pro přípravu a první naladění víčko lepší.
    Pokud to tam už naladím, tak to sjedu na celý text a uložím to a je to.
    Pokud by se to mělo často opakovat, je to jiné téma.
    To, že trpíš stihomamem, ještě neznamená, že po tobě nejdou. ⰞⰏⰉⰓⰀⰜⰉ ⰗⰞⰅⰜⰘ ⰈⰅⰏⰉ ⰒⰑⰎⰉⰁⰕⰅ ⰏⰉ ⰒⰓⰄⰅⰎ ·:⁖⁘⁙†
    8.4.2010 08:45 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: Skript na "prerozdelenie dát" v CSV
    Souhlasím, také to raději ladím ve vimu se zapnutým zvýrazňováním nalezeného textu, s pomocí undo a historie příkazů je to mnohem rychlejší
    7.4.2010 17:59 Peter
    Rozbalit Rozbalit vše Re: Skript na "prerozdelenie dát" v CSV
    Ty si môj hrdina. Vrelá, vrelá vrelá vďaka. :-D

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.