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:55 | IT novinky

    Americká technologická společnost Meta Platforms se dohodla, že zaplatí až zhruba 18 miliard dolarů (asi 373 miliard Kč) za mimosoudní urovnání sporu o závislosti dětí na sociálních sítích a provede významné změny pro jejich používání mladistvými. Téměř tři desítky států USA firmu v roce 2023 obvinily z toho, že sítě Facebook a Instagram vědomě navrhla tak, aby u dětí vyvolávaly závislost, a zatajovala tyto dopady před veřejností. Firma se

    … více »
    Ladislav Hagara | Komentářů: 0
    dnes 02:55 | Komunita

    Byl publikován aktuální přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Blíží se vydání podporující čipy M3. Vývojáře lze podpořit na GitHub Sponsors a Open Collective.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Kancelářský balík LibreOffice byl vydán ve verzi 26.8. Mimo jiné vylepšuje typografii a kompatibilitu s formáty MS Office, více v poznámkách k vydání.

    |🇵🇸 | Komentářů: 0
    včera 14:55 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.8. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 5
    včera 11:44 | Nová verze

    Byla vydána nová verze 23.1.0, tj. první stabilní verze z nové řady 23.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools, Libc++, Polly a Flang.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Nová verze

    Google Chrome 152 byl prohlášen za stabilní. Nejnovější stabilní verze 152.0.7977.64 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 327 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 01:11 | Komunita

    Před 35 lety, 25. srpna 1991, oznámil Linus Benedict Torvalds v diskusní skupině comp.os.minix, že vyvíjí (svobodný) operační systém (jako koníček, nebude tak velký a profesionální jako GNU) pro klony 386 (486), že začal v dubnu a během několika měsíců by mohl mít něco použitelného.

    Ladislav Hagara | Komentářů: 1
    25.8. 16:33 | IT novinky

    Apple představil čipy M6 a M5 Ultra, Mac mini s M6 nebo M5 Pro a Mac Studio s M5 Max nebo M5 Ultra. Fedora Asahi Remix zatím podporuje jenom M1 a M2.

    Ladislav Hagara | Komentářů: 13
    25.8. 14:11 | Komunita

    Firefox 157 přinese zapnutou podporu rastrového grafického formátu JPEG XL. Založena je na v Rustu napsané implementaci jxl-rs používané i v Chrome a Chromiu.

    Ladislav Hagara | Komentářů: 0
    25.8. 02:11 | Nová verze

    Vanilla OS 3 „Reunion“ byl vydán. Tato na Debianu „Sid“ založená desktopová distribuce s transakčními aktualizacemi „neměnného“ základního systému (ABRoot) nově podporuje architekturu arm64 (vedle x86-64), podporuje reprodukovatelné sestavení většiny balíčků a vylepšuje systémové nástroje. Vlastní meta-správce balíčků APX nyní používá Distrobox v2 a je dostupný i pro jiné distribuce.

    |🇵🇸 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (19%)
     (29%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2501 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    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: 455×

    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.