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 03:44 | Nová verze

    Bitwig Studio (Wikipedie) bylo vydáno ve verzi 6. Jedná se o proprietární multiplatformní (macOS, Windows, Linux) digitální pracovní stanici pro práci s audiem (DAW).

    Ladislav Hagara | Komentářů: 0
    dnes 02:11 | Komunita

    Společnost Igalia představila novou linuxovou distribuci (framework) s názvem Moonforge. Jedná se o distribuci určenou pro vestavěné systémy. Vychází z projektů Yocto a OpenEmbedded.

    Ladislav Hagara | Komentářů: 0
    dnes 00:44 | Nová verze

    Google Chrome 146 byl prohlášen za stabilní. Nejnovější stabilní verze 146.0.7680.71 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 29 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Nová verze

    D7VK byl vydán ve verzi 1.5. Jedná se o fork DXVK implementující překlad volání Direct3D 3 (novinka), 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | Nová verze

    Bylo vydáno Eclipse IDE 2026-03 aneb Eclipse 4.39. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 3
    včera 10:22 | Upozornění

    Ze systému Slavia pojišťovny uniklo přibližně 150 gigabajtů citlivých dat. Jedná se například o pojistné dokumenty, lékařské záznamy nebo přímou komunikaci s klienty. Za únik může chyba dodavatelské společnosti.

    Ladislav Hagara | Komentářů: 9
    včera 10:11 | IT novinky

    Sněmovna propustila do dalšího kola projednávání vládní návrh zákona o digitální ekonomice, který má přinést bezpečnější on-line prostředí. Reaguje na evropské nařízení DSA o digitálních službách a upravuje třeba pravidla pro on-line tržiště nebo sociální sítě a má i víc chránit děti.

    Ladislav Hagara | Komentářů: 26
    včera 09:33 | IT novinky

    Meta převezme sociální síť pro umělou inteligenci (AI) Moltbook. Tvůrci Moltbooku – Matt Schlicht a Ben Parr – se díky dohodě stanou součástí Meta Superintelligence Labs (MSL). Meta MSL založila s cílem sjednotit své aktivity na poli AI a vyvinout takovou umělou inteligenci, která překoná lidské schopnosti v mnoha oblastech. Fungovat by měla ne jako centralizovaný nástroj, ale jako osobní asistent pro každého uživatele.

    Ladislav Hagara | Komentářů: 0
    včera 00:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 44 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 14. dubna.

    Ladislav Hagara | Komentářů: 1
    10.3. 12:11 | IT novinky

    Open source router Turris Omnia NG Wired je v prodeji. Jedná se o Turris Omnia NG bez Wi-Fi. Je připraven pro zamontování do racku.

    Ladislav Hagara | Komentářů: 6
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (0%)
     (11%)
     (29%)
     (2%)
     (5%)
     (2%)
     (13%)
     (25%)
    Celkem 1055 hlasů
     Komentářů: 26, poslední dnes 08:56
    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: 306×

    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.