» Poradna » Programy

Práce s tabulkami "daty, databázemi"

 |   |  Microsoft Windows 7 Firefox 43.0

Potřebuji hromadně pročistit a propojit tři soubory s daty. Jedná se o DBF soubory "jdou otevřít v excelu".První soubor obsahuje základní informace o lokalitách které mne zajímají a obsahuje jen ty lokality co potřebuji. Tyto lokality mají v jednom ze sloupců specifiské ID, podle kterého se dají třídit a je nezaměnitelné. !! Každé ID je obsaženo pouze na jednom řádku. !!Dále mám pak další dva soubory, které obsahují podrobnější informace o jednotlivých lokalitách a jsou také označeny ID jako v předchozím souboru. Tyto soubory ale obsahují i lokality, které tam nechci. !! Stejné ID je obsaženo na více řádcích. !!1. Potřebuji na základě ID obsažených v prvním souboru promazat další dva soubory, aby v nich zůstaly jen řádky, které toto ID obsahují.2. Potřebuji vše sloučit do jednoho souboru. První soubor berme jako výchozí "jedno ID jeden řádek" a do tohoto řádku za poslední obsazenou buňku zařadit obsah všech řádků se stejným ID z dvou dalších souborů. Vznikne tak soubor kde bude na jenom řádku ID a v tom řádku bude xx buněk s informacemi ze všech tří souborů.Excel tohle určitě dokáže pomocí nějakého makra, nebo příkazů, ale já nevím jak.Případně mohu zaslat vzorek všech tří souborů "celé ne mají dohromady cca 1GB jedná se o velké množství dat".Děkuji za rady.

Odpovědi na otázku

 |   |  Microsoft Windows 7 Firefox 42.0

1. Musíš si ujasnit, co přesně s daty chceš dělat - definovat jednoznačný algoritmus.2. Pak už jen ten algoritmus použiješ a je jedno, jestli v nějaké databázi, nebo v Excelovském makru.Bod 2 můžeš i nějakému programátorovi zadat (a asi i zaplatit, když to neumíš sám), ale bod 1 musíš na začátku precizně a jednoznačně definovat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

Jak jednoznačně definovat? V prvním souboru je xxx řádků a na každém řádku je ve soupci ID unikátní číslo. Každé ID má svůj řádek a žádné ID nemá více jak jeden řádek.Ve druhém a třetím souboru je také sloupec ID stejný jako v předchozím souboru. Jen v těchto souborech jsou i jiná další ID, která nepotřebuji a nechci tam. Také v těchto souborech může stejné ID být na vícero řádcích.Potřebuji vyházet všechny řádky, které neobsahují ve sloupci ID nějaké ID z prvního souboru.Podle mého to více jednoznačně nejde.Ke druhému bodu, kdybych to chtěl někomu zadávat tak bych to asi neřešil touto cestou.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 42.0

Tady ale neprobíhá výuka programování. Pokud se tváříš, že víš algoritmus, ale neumíš to přepsat do programovacího jazyka - potřebuješ programátora, nebo se to nauč sám. Jakou jinou RADu v poRADně očekáváš?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

V podstatě ždádnou. Tedy od tebe ne, když reaguješ, že je potřeba něco co je přesně definováno přesně definovat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 42.0

OK, tak si to tu užij s ostatními.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 43.0

Tohle je relativne trivialni uloha pro libovolny skriptovaci jazyk. Zadej to libovolnemu studentovi v okoli, pravdepodobne na to bude potreba nejakych 30 radek kodu.Pokud nikoho takoveho nemas, dej to za penize nejake firme. Nemelo by to stat vic nez par stovek, tohle je podle zadani opravdu jednoducha uloha.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

Já vím, že to není složité. Dokonce jsem něco podobného kdysi na škole dělal přímo v excelu a proto vím, že to tam jde. Jen prostě už je to dosti let a od té doby jsem z toho hodně vypadl. Teď na to prostě nemohu přijít :D a zrovna by jsem to potřeboval.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 43.0

jestli jsou to data s prostorovými údaji (souřadnice) a chceš to třeba filtrovat podle území, tak to je na tzv. GIS.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

Jedná se o GiS data. Mám jednu SHP vrstvu ve které je attributová tabulka se základními údaji. Tuto vrstvu jsem si již v GiSu jednoduše ořízl na území, které mne zajímá. K tomu mám dva DBF soubory s daty - podrobnější informace k těmto lokalitám. V ArcGisu není problém si tyto soubory nalinkovat k SHP vrstvě. Problém je, že s těmi daty potřebují pracovat kolegové, kteří nemají ArcGiS "ostatní free programy nevím jestli to dokážou, ale kolegové s nimi nepracují a dost těžko se to budou učit" a pracují jen ve webovém prostředí, které tohle nedokáže. Proto potřebuji dostat data z těch dvou souborů do attributové tabulky té SHP vrstvy. Gis dokáže napevno propojit dvě i více attributových tabule., ale nedokáže se vypořádat s tím, že v těch dalších dvou souborech je stejné ID na více řádkách. Proto se to v GiSu řeší jen nalinkováním a jde s tím pracovat, ale webové rozhraní toto nedokáže.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 43.0

pracuju s QGISem a ten tohle bez problému umí a je zdarma a česky:http://www.qgis.org/en/site/forusers/download... Tam jde tabulka nalinkovat a pokud se to uloží jako nová SHP vrstva, tak se to myslím nacpe do jedné DBF tabulky, se kterou mohou dál pracovat."v těch dalších dvou souborech je stejné ID na více řádkách"jak to?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

Protože ty další soubory jsou udělané pro různé pohledy managementových opatření a jsou nešikovně vytvořené. Každé managementové opatření pro stejný polygon - ID má svůj vlastní řádek. S tímhle se GiS nedokáže vypořádat. Tedy ArcGis ale předpokládám, že v QGiSu bude stejný problém. Prostě z logiky GiS programů se s tím nedokáže vyrovnat :D Dokáže to sice nalinkovat k sobě, ale už to pak nedokáže vyexportovat do jednoho souboru. Jde s tím pracovat jen v GiSu.QGiS by řešení byl, ale 18 kolegů v tom nedělá a dělat nebude. Pracují ve webové aplikaci a většina z nich se nic jiného nebude chtít učit.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 43.0

jestli tomu dobře rozumím, tak pro tebe by bylo ideální, kdybys tabulku ve styluID, opatreni1, abc1, cde1, fgh2, abc2, cde2, fghpřevedl abys dostal ideálně toto:ID, opatreni1, opatreni2, opatreni31, abc, cde, fgh2, abc, cde, fghcož bys nalinkoval snadno a bordel by to nedělalo...

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

Jo přesně tohle potřebuji udělat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

problém je, že se jedná o více jak milion řádků v každém souboru. Takže ruční třídění je nereálné.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 43.0

zkus se podívat, zda umíš v rámci GISu vpisovat do nového sloupce definovaný název řetězený s přírůstkovým číslem:např."opatreni"_ID_(x+1)takže bys dostal do sloupce nazvaného např. "ID_nove":opatreni_1_1opatreni_1_2opatreni_1_3kde to první číslo je původní ID a to druhé číslo je pořadí (nikoliv číslo řádku), nebo např. mít v jiném sloupci pomocné číslování a použít to. Trochu možná krkolomné ale mohlo by to jít.Druhá věc je, zda dokážeš dostat "ID_nove" jako první sloupec a tabulku transponovat, takže bys dostal:opatreni_1_1, opatreni_1_2, opatreni_1_3jenže bys zas měl sloupce pro všechna ID vedle sebe a nikoliv ve skupinách ...Tohle je na nějakého databázovníka, případně rovnou na dotaz tu:http://gis.stackexchange.com/Případně i celkem průměrný programátor by měl být schopen napsat minimálně skript pro CMD, co by tohle provedl s CSV daty.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

Napasovat tam další sloupec v GiSu a přes sdruženej dotaz tam nacpat hodnotu jak popisuješ by možná šlo. To mne nenapadlo. Jakmile bych to tam takhle napasoval tak už bude mnohem jednodušší je sloučit. Zkusím to a dík zatím.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 8 Opera 9.80

Dá se to i v tom excelu pomocí více kroků:1. Do nového sloupce si napiš vzorec, který nastaví A/N podle toho, jestli záznam chceš nebo nechceš2. Nastav si filtr na nový sloupec a hodnotu N3. Smaž vyfiltrované záznamy4. Odstraň nový sloupecPřípadně si nastav filtr rovnou - uživatelský filtr, neobsahuje a napiš seznam těch, které chceš zachovat. Vyfiltrované záznamy pak smaž

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

Tento způsob není reálný jedná se o miliony řádek ve kterých bych to musel ručně zapisovat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 8 Opera 9.80

Ručně zapisovat? Ani jeden způsob, který jsem popsal nepotřebuje žádné ruční zapisování.Navíc druhý způsob je jen nastavení jednoho filtru v excelu a smazání vyfiltrovaných řádků.Jen to v Excelu s těmi miliony řádků bude dlouho trvat, Access by to zvládnul rychleji.Muzes v ACCESS i SQL prikazem:delete from tabulka_s_daty where not ID in ('ID1', 'ID2', .... 'IDx')Nechceš nic dělat, nechceš se nic učit a při tom bys chtěl propojovat tabulky a mazat na základě neexistujících záznamů v jiné tabulce? Takže jak to je?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 42.0

Taky to vidím na tvoji předposlední otázku. Nemá o nic zájem, sám to neumí, nic se mu nechce. Vůbec nechápu, jakou odpověď by tady chtěl vlastně najít. Buď prostě programovat umí a napíše si to sám, nebo neumí a někomu to zadá. Třetí varianta ještě je, se na to vykašlat.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 43.0

jestli pracuje s ArcGISem, tak ten by měl být schopen pracovat s SQL databázemi přímo, navíc to má přizpůsobené pro geografická data.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

Pro mne není problém s těmi daty pracovat tak jak jsou teď a nijak bych je nemusel upravovat. Problém je, že s nimi potřebují pracovat kolegové, kteří v GiSu nedělají a pracují jen ve webové aplikaci, která toto nedokáže.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 43.0

ona ta data jsou pro strojové zpracování prostě blbě navržena. Mimochodem, je to jednorázovka, nebo hrozí že tohle budeš dělat každý rok, nebo tak?

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

Je to jednorázovka. Jiná taková data neexistují. Takže pokud je někdo znovu takto nevytvoří už to znovu dělat nebudu. Nicméně při tomto množství dat se mi to ani tak nechce dělat nějak mechanicky.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

Problém mám jen s bodem 1. Nemohu přijít na to jak zapsat vzorec, která by mi zapsal A ke všem řádkům co obsahují ve sloupci ID nějaké ID z prvního souboru ze sloupce ID a do ostatních N.Ostatní body co píšeš jsou opravdu již jen formalita.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 8 Opera 9.80

Tak pouzij primo filtr, ktery umoznuje polozku "neobsahuje"Kdyz jde o ten vzorec, tak =KDYŽ(A2="id1";"A";KDYŽ(A2="id2"; "A"; KDYŽ(....; "N")))Slo by na to jit treba pres SVyhledat apod. ale to by pri tom poctu zaznamu bylo hodne pomale. Tohle "hloupe" reseni by to mohlo zvladnout, pokud by tech ID nebylo moc.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

Dík, ale na tohle řešení je těch ID opravdu hodně.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Chrome 47.0.2526.111

Ahoj, jestli to ještě řešíš, tak by ti mohl pomoci následující vzorec v excelu, který spočítá počet výskytů hodnoty v oblasti countif(oblast; hodnota). Například když budeš hledat hodnoty ze sloupce A v Sešitu1 také ve sloupci A, tak pro hledání hodnoty A1 bude vzorec následující:=COUNTIF([Sešit1]List1!$A:$A;A1)Pak už jenom vyfiltruješ a smažeš řádky kde počet výskytů bude 0. Ten vzorec je rychlý a zvládne i prohledání velké oblasti.PS Když si objednáš příště mikroslužbu za 100Kč, tak si ušetříš spoustu vrásek http://www.stovkomat.cz/job/6986/

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 IE 10.0

ak to nie je nutne urobit v exceli, tak napr. v accesse by to slo celkom lahko. a nasledne ak treba, vyslednu tabulku exportovat do excelu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

Je jedno v čem to udělám jen potřebuji výsledný soubor ve formátu DBF. V Accessu jsem nikdy nedělal tak nevím jestli bych se tam s tím popral.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 42.0

A co vlastně tady čekáš za odpověď? Že ti někdo napíše ten program? Tvůj problém je v snadná věc - jen se to musí umět. Jestli chceš něco naprogramovat a sám to neumíš, někoho si na to najmi a zaplať. Jestli se chceš naučit programovat, přihlas se do školy nebo na kurs, případně zkus samostudium.Jestli máš KONKRÉTNÍ dotaz v programování, tak ho sem KONKRÉTNĚ napiš.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

Jednoduchý příkaz do excelu "a jde to sám jsem to kdysi dělal jen si nemohu vzpomenout", který udělá následující.Vyber všechny řádky v souboru XY, které obsahují ve sloubci ID stejný identifikátor, který je obsažen ve sloupci ID souboru XX.Nebo to můžeš otočit a né vyber ale vymaž všechny co neobsahují.Děkuji předem za tvou odbornou radu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 42.0

Mých rad se už dříve vzdal, tak se toho drž.PS: Fakt jsem zvědavý, jak ti to vyřeší "jednoduchý příkaz do Excelu".

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

Bod 1 mého prvního dotazu dokáže určitě vyřešit jednoduchý vzorec v excelu. Jen nemohu přijít na to jak ho správně nadefinovat, aby fungoval korektně. Bod dva bude složitější ale i o tom jsem přesvědčený, že by v excelu šel udělat. Jen jak již zde bylo zmíněno. Bude to trvat déle.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Linux Firefox 31.9

Já se jen divím, že to obtížné ekoteroristické ministerstvo na to nemá firmu.

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 43.0

s ohledem na uváděný počet dat (miliony řádků) jen načtení Excelem bude na polední pauzu. Pokud to nepřeleze limit Excelu... Tohle je na DB nebo konzolové zpracování...

Souhlasím  |  Nesouhlasím  |  Odpovědět
avatar
 | Linux Firefox 43.0

Access snad umí výstup do CSV a ten GIS obvykle v pohodě načte.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 |   |  Microsoft Windows 7 Firefox 43.0

CSV by asi nebyl problém. Problém bude pro mne ten access.

Souhlasím  |  Nesouhlasím  |  Odpovědět
 | Microsoft Windows 8 Opera 9.80

Access by mel primo umet otevrit DBF.

Souhlasím  |  Nesouhlasím  |  Odpovědět

Související témata: První soubor, Stejné ID, Množství dat, Základní informace, Vzorek


Určitě si přečtěte

13 praktických tipů a triků pro Mapy.cz, které možná neznáte

13 praktických tipů a triků pro Mapy.cz, které možná neznáte

** Mapy.cz neslouží jen k zobrazení podkladů a plánování tras ** Nabízejí celou řadu dalších praktických funkcí a možností ** Vybrali jsme třináct tipů a triků, o kterých možná nevíte

Karel Kilián | 36

Měření rychlosti internetu: Populární Speedtest.net neřekne o skutečné rychlosti internetu téměř nic

Měření rychlosti internetu: Populární Speedtest.net neřekne o skutečné rychlosti internetu téměř nic

** Speedtest stále častěji měří jen rychlost na poslední míli ** Ta však ale neodpovídá reálnému surfování ** Jak se tedy pokusit změřit tu skutečnou?

Jakub Čížek | 85

Šmírování kamerami Googlu: Koukněte, co šíleného se objevilo na Street View

Šmírování kamerami Googlu: Koukněte, co šíleného se objevilo na Street View

Google stále fotí celý svět do své služby Street View. A novodobou zábavou je hledat v mapách Googlu vtipné záběry. Podívejte se na výběr nejlepších!

redakce | 7



Aktuální číslo časopisu Computer

Test 9 bezdrátových reproduktorů

Jak ovládnout Instagram

Test levných 27" herních monitorů

Jak se zbavit nepotřebných věcí na internetu