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 06:00 | Nová verze

Po necelém roce od vydání verze 0.67 byla vydána verze 0.68 populárního telnet a ssh klienta PuTTY. Podrobnosti v přehledu změn. Řešeny jsou také bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
včera 21:32 | Nasazení Linuxu

Canonical představuje nejnovější verzi chytré helmy DAQRI s Ubuntu pro rozšířenou realitu. K vidění bude příští týden v Barceloně na veletrhu Mobile World Congress 2017.

Ladislav Hagara | Komentářů: 0
včera 21:31 | Pozvánky

Pro zájemce o hlubší znalosti fungování operačních systémů připravila MFF UK nový předmět Pokročilé operační systémy, v rámci něhož se vystřídají přednášející nejen z řad pracovníků fakulty, ale dorazí také odborníci ze společností AVAST, Oracle, Red Hat a SUSE. Tento předmět volně navazuje na kurz Operační systémy ze zimního semestru, ale pokud máte praktické zkušenosti odjinud (například z přispívání do jádra Linuxu) a chcete si

… více »
Martin Děcký | Komentářů: 0
včera 21:30 | Pozvánky

Czech JBoss User Group Vás srdečně zve na setkání JBUG v Brně, které se koná ve středu 1. března 2017 v prostorách Fakulty Informatiky Masarykovy Univerzity v místnosti A318 od 18:00. Přednáší Tomáš Remeš a Matěj Novotný na téma CDI 2.0 - New and Noteworthy. Více informací na Facebooku a na Twitteru #jbugcz.

mjedlick | Komentářů: 0
20.2. 23:45 | Zajímavý software

Na blogu Qt bylo představeno Qt 3D Studio. Jedná se o produkt dosud známý pod názvem NVIDIA DRIVE™ Design Studio. NVIDIA jej věnovala Qt. Jedná se o několik set tisíc řádků zdrojového kódu. Qt 3D Studio bude stejně jako Qt k dispozici jak pod open source, tak pod komerční licencí. Ukázka práce s Qt 3D Studiem na YouTube.

Ladislav Hagara | Komentářů: 10
20.2. 17:50 | Komunita

Nadace The Document Foundation (TDF) zastřešující vývoj svobodného kancelářského balíku LibreOffice slaví 5 let od svého oficiálního vzniku. Nadace byla představena 28. září 2010. Formálně byla založena ale až 17. února 2012.

Ladislav Hagara | Komentářů: 0
20.2. 12:50 | Komunita

Mozilla.cz informuje, že dosud experimentální funkce Page Shot z programu Firefox Test Pilot (zprávička) se stane součástí Firefoxu. Page Shot je nástroj pro vytváření snímků webových stránek. Umí výběr oblasti, prvku stránky (např. odstavce), nebo uložení snímku celé stránky. Snímky lze ukládat na disk nebo nahrávat na server Mozilly. Nedávno bylo oznámeno, že se součástí Firefoxu stane Activity Stream.

Ladislav Hagara | Komentářů: 32
20.2. 04:10 | Nová verze

Po 10 týdnech vývoje od vydání Linuxu 4.9 (zprávička) oznámil Linus Torvalds, mj. již 20 let žijící v USA, vydání Linuxu 4.10 (LKML). Přehled nových vlastností a vylepšení například na Kernel Newbies a v Jaderných novinách (1, 2 a 3). Kódové jméno Linuxu 4.10 je Fearless Coyote.

Ladislav Hagara | Komentářů: 23
19.2. 15:55 | Zajímavý projekt

Vyzkoušet si příkazy a vyřešit několik úkolů lze na stránkách Commandline Challenge (CMD Challenge). Úkoly lze řešit různými způsoby, důležitý je výsledek. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

Ladislav Hagara | Komentářů: 18
18.2. 17:35 | Bezpečnostní upozornění

Německá Bundesnetzagentur (obdoba českého ČTU) zakázala na německém území prodej panenky Cayla kvůli „špionáži“ dětí. Tato elektronická hračka obsahuje mikrofon, reproduktor a kameru a bezdrátové komunikační rozhraní, pomocí kterého se hračka připojuje na servery výrobce. Takovýmto způsobem může hračka pomocí umělé inteligence „odpovídat“ na dotazy dítěte. Hlavní problém bude ale asi někde jinde, podle prvotních zpráv může

… více »
Petr Tomášek | Komentářů: 34
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (14%)
 (2%)
 (71%)
 (3%)
 (10%)
Celkem 680 hlasů
 Komentářů: 61, poslední včera 13:06
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: 233×

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: 79 | 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: 60 | 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.