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í
×
včera 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ářů: 1
včera 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
včera 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ářů: 21
včera 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ářů: 6
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ářů: 32
17.2. 15:30 | Bezpečnostní upozornění

CSIRT.CZ upozorňuje, že bezpečnostní experti objevili nový typ malwaru, jenž cílí na open source e-commerce platformu Magento. Malware je zajímavý tím, že se jedná o první svého druhu, jehož kód zůstává skrytý v SQL databázi zasaženého e-shopu. Škodlivý kód je volán pomocí tzv. SQL trigerru, který je spouštěn při každém vytvoření objednávky v systému.

Ladislav Hagara | Komentářů: 3
17.2. 09:00 | Nová verze

Bylo vydáno Ubuntu 16.04.2 LTS, tj. druhé opravné vydání Ubuntu 16.04 LTS s kódovým názvem Xenial Xerus. Přehled novinek v poznámkách k vydání a v přehledu změn.

Ladislav Hagara | Komentářů: 59
17.2. 06:00 | Zajímavý článek

Pavel Tišnovský se v dvoudílném článku na MojeFedora.cz věnuje tvorbě pluginů (modulů) pro bitmapový grafický editor GIMP. Pomocí pluginů lze GIMP rozšiřovat o další funkce. Implementovat lze například nové filtry nebo pomocné utility pro tvorbu animací či poloautomatickou retuš snímků.

Ladislav Hagara | Komentářů: 6
16.2. 23:32 | Komunita

Do 30. března se lze přihlásit do dalšího kola programu Outreachy, jehož cílem je přitáhnout do světa svobodného a otevřeného softwaru lidi ze skupin, jež jsou ve světě svobodného a otevřeného softwaru málo zastoupeny. Za 3 měsíce práce, od 30. května do 30. srpna 2017, v participujících organizacích lze vydělat 5 500 USD. Jedná se již o 14. kolo tohoto programu.

Ladislav Hagara | Komentářů: 11
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (13%)
 (2%)
 (72%)
 (3%)
 (10%)
Celkem 671 hlasů
 Komentářů: 54, poslední dnes 07:38
Rozcestník
Reklama

Dotaz: sloučení několika souborů ve formátu *.csv

9.5.2006 23:54 pavel
sloučení několika souborů ve formátu *.csv
Přečteno: 730×
Dobrý den,rád bych poprosil o pomoc.

Mám několik souborů ve formátu *.csv.

Takto se mi soubory zobrazí v OpenOffice - Calc:

Prvni_soubor.csv:
Nějaký_text - hlavička
data1 data2 datan 1.1.2006
data1 data2 datan 2.1.2006
data1 data2 datan 3.1.2006
data1 data2 datan 4.1.2006
data1 data2 datan 5.1.2006

Druhy_soubor.csv:
Nějaký_text - hlavička
data1 data2 datan 3.1.2006
data1 data2 datan 4.1.2006
data1 data2 datan 5.1.2006
data1 data2 datan 6.1.2006
data1 data2 datan 7.1.2006

Treti_soubor.csv:
Nějaký_text - hlavička
data1 data2 datan 4.1.2006
data1 data2 datan 5.1.2006
data1 data2 datan 6.1.2006
data1 data2 datan 7.1.2006
data1 data2 datan 8.1.2006
data1 data2 datan 9.1.2006
data1 data2 datan 10.1.2006

Potřebuji, aby mi vypadlo:

Nějaký_text - hlavička
data1 data2 datan 1.1.2006
data1 data2 datan 2.1.2006
data1 data2 datan 3.1.2006
data1 data2 datan 4.1.2006
data1 data2 datan 5.1.2006
data1 data2 datan 6.1.2006
data1 data2 datan 7.1.2006
data1 data2 datan 8.1.2006
data1 data2 datan 9.1.2006
data1 data2 datan 10.1.2006
Jinak musím otevřít všechny soubory v Calcu, porovnat, kopírovat, vložit atd. atd.atd...

Poradil by mi někdo jak na to, popř. jaký příkaz na to použít?

Odpovědi

10.5.2006 01:22 tomas
Rozbalit Rozbalit vše Re: sloučení několika souborů ve formátu *.csv

Berte to spíše jako návod, kudy se ubírat, než přesné řešení Vašeho problému:

echo "title1\ttitle2\ttitle3\tdate" >union.csv

sed -e 1d *_soubor.csv |sort |uniq >> union.csv

10.5.2006 19:52 pavel
Rozbalit Rozbalit vše Re: sloučení několika souborů ve formátu *.csv
Díky za odpověď, zkusím si to nastudovat.
12.5.2006 10:08 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: sloučení několika souborů ve formátu *.csv
Jestli to dobře chápu, tak je potřeba vzít všechny datové řádky ze všech souborů, setřídit je podle data, vyházet duplicity a pak to všechno vypsat. Zkusil jsem to napsat v Pythonu. Nejvíc komplikací je s tím tříděním, protože je potřeba datum ve formátu
9.1.2006
převést na trojici
(2006, 1, 9)
Pak to teprve lze použít jako klíč pro sort(). Tady je ten program:
#!/usr/bin/env python
import sys, os, fileinput, re

data = {}
regexp = re.compile('^.*\s+(\d+)\.(\d+).(\d{4})\s+$')
for line in fileinput.input():
  if fileinput.isfirstline():
    hlavicka = line
  try:
    dmy = regexp.search(line).groups()
    key = map(int, dmy)
    key.reverse()
    key = tuple(key)
    data[key] = line
  except AttributeError:
    pass

keys = data.keys()
keys.sort()
sys.stdout.write(hlavicka)
for key in keys:
  sys.stdout.write(data[key])
Když se pustí s parametry
Prvni_soubor.csv Druhy_soubor.csv Treti_soubor.csv
tak vypíše tohle:
Nějaký_text - hlavička
data1 data2 datan 1.1.2006
data1 data2 datan 2.1.2006
data1 data2 datan 3.1.2006
data1 data2 datan 4.1.2006
data1 data2 datan 5.1.2006
data1 data2 datan 6.1.2006
data1 data2 datan 7.1.2006
data1 data2 datan 8.1.2006
data1 data2 datan 9.1.2006
data1 data2 datan 10.1.2006
Nevím, která hlavička tam patří, tak jsem ji vzal z posledního souboru.
12.5.2006 12:14 pavel
Rozbalit Rozbalit vše Re: sloučení několika souborů ve formátu *.csv
Ještě bych chtěl upřesnit ty data, přesný formát je:

data1;data2;datan;2006-05-28 18:20:10

data1;data2;datan;2006-05-28 18:20:10

12.5.2006 12:41 xxl
Rozbalit Rozbalit vše Re: sloučení několika souborů ve formátu *.csv
Nevím, jestli to správně chápu. Ale co použít něco takového:
tail +2 Prvni_soubor.csv > data
tail +2 Druhy_soubor.csv >> data
tail +2 Treti_soubor.csv >> data

echo "Nějaký_text - hlavička" > Vysledny_soubor.csv
sort -t\; -gk4,4 data >> Vysledny_soubor.csv
12.5.2006 13:18 pavel
Rozbalit Rozbalit vše Re: sloučení několika souborů ve formátu *.csv
Takže já jsem zkusil:

cat *.csv >spojeno.csv

cat spojeno.csv|sort -n -u -t- -k1,1 >trideno_dle_datumu

Funguje to, ale u toho -t mi nefunguje parametr středník, který tam měl být původně.

Děkuji všem a hlavně prvnímu v této diskuzi, co mi odpověděl a navedl správným směrem.

12.5.2006 20:06 tomas
Rozbalit Rozbalit vše Re: sloučení několika souborů ve formátu *.csv

problém je v tom,že středník je ostrý znak shellu pro oddělování příkazů, které jsou na jednom řádku. Řešení je popsáno v příspěveku od neznámého xxl.

Ještě si zkontrolujte, zda vám hlavičky neskončily na konci výsledného souboru (|tail). Řešením by pak bylo použít místo cat *.csv ,něco jako sed -s -e 1d *.csv

13.5.2006 17:58 pavel
Rozbalit Rozbalit vše Re: sloučení několika souborů ve formátu *.csv
Je to tak, ten příspěvek se středníkem jsem přehlédl (t\;).

Hlavičky mi vychází dobře, ale ten příkaz si aspoň zkusím.

15.5.2006 20:18 pavel
Rozbalit Rozbalit vše Re: sloučení několika souborů ve formátu *.csv
Tak mi to jede dobře jen s jedním měsícem, pokud tam přidám soubory s dalším měsícem, třídí to špatně. Tak jsem zase na začátku, pomoc...
15.5.2006 22:17 pavel
Rozbalit Rozbalit vše Re: sloučení několika souborů ve formátu *.csv
Takže takto mi to třídí dobře:

cat *.csv >spojeno.csv

cat spojeno.csv |sort -u -t- -k2 >trideny.csv

Už jsem myslel, že to nepůjde a vzdám to.

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.