< návrat zpět

MS Excel


Téma: Import dat z .txt (2 350 000 řádků) rss

Zaslal/a 21.11.2015 10:31

Ahojte, chtěl bych se optat, zda je možné makrem importovat data z .txt do excelu 2013 tak, že se z důvodu omezení počtu řádků data rozdělí do několika listů.
Dejme tomu, že mám soubor obsahující 2 350 000 řádků. Tato data se z důvodu omezení počtu řádků do excelu nedají naimportovat ( alespoň netuším jak). A proto bych potřeboval data naimportovat do řádku 1 048 576 (což je pro excel maximum) a poté automaticky pokračovat na dalším listu... a to tak dlouho, dokud se nedojde na poslední řádek. Data by se měla vkládat klasicky do prvních třech sloupců každého listu. Textový soubor může obsahovat 20 až 30 milionů řádků (teoreticky).
V příloze je část dat.
Snad jsem to popsal srozumitelně.
Děkuji
Míra

Zaslat odpověď >

#028215
avatar
Kdysi jsem řešil velmi podobný problém pro tazatele, který potřeboval nějaký svůj rozsáhlý e-book rozdělit do texťáků po kapitolách pro svůj maličký tablet. Zkusím pohledat na svém disku, jestli jsem ještě o tu aplikaci nepřišel při postupném stěhování ze starých notebooků na novější železo. Když to najdu, dám to k dispozici.citovat
#028216
avatar
Tak to hledání nebylo tak hrozné. Potřebný sešit posílám. Pravděpodobně bude nutné změnit kritérium, podle kterého se kapitoly od sebe budou oddělovat. V řešeném případě to byl specifický text pro začátek každé kapitoly. Předpokládám, že i ve vašem zdrojovém textu se najde příznak, který půjde použít pro rozdělení textu na části. Kdyby vznikl s úpravou mého sešitu problém, stačí popsat, podle čeho se má zdrojový soubor dělit.
Příloha: zip28216_kapitoly.zip (9kB, staženo 45x)
citovat
#028217
avatar
Teprve teď jsem se podíval do přílohy od tazatele. Pro tabulkovou sestavu, kterou příloha představuje, je můj zaslaný postup možná až zbytečně složitý, i když k rozsekání příliš dlouhého zdroje na dílčí úseky je použitelný. Po rozsekání by bylo vhodné jednotlivé části importovat do Excelu jako načtení externích dat do jednotlivých listů.citovat
#028219
avatar
Děkuji za rychlou odpověď a snahu pomoci. Avšak mé znalosti tak nějak na úpravu makra nejsou dostačující.
Zkusím ještě pohledat jak by se to dalo upravit, ale momentálně tomu příliš nerozumím.

Míracitovat
#028224
avatar
Vaše úloha s importem extrémně dlouhé datové tabulky mi nakonec připadla dostatečně obecná, abych pro ni napsal samostatný algoritmus a zařadil si tento sešit do svého archivu standardních úloh.
Sešit s velmi podrobným komentářem procedury je v příloze. Snadno tam najdete, jak nastavit maximální počet řádků na listu i jak změnit nastavený počet polí v řádku. Data se importují do nově vkládaných listů volajícího sešitu. Navíc proti zadání se také konvertují desetinné tečky na čárky, aby se datům zachoval numerický obsah v českém Excelu.
Příloha: zip28224_delenatabulka.zip (53kB, staženo 145x)
citovat
#028227
avatar
Děkuju, to je přesně to, co jsem potřeboval. Sice mi nebral název souboru, ale to není problém, přejmenoval jsem a vše běží jak má.

Ještě jednou díky
Míracitovat
#028228
avatar
Poznámka na závěr: je zřejmé, že nemohu nahrát víc řádků pod sebe, než kolik dovoluje excelský list. Kvůli tomu ale není nutné vytvářet další listy, jak jste si přál. Stejně dobře (a z hlediska použití možná lépe) může posloužit vytváření bloků dat, ležících na jednom listu vedle sebe. Při povolených 16000 sloupcích mám na jednom listu možnost položit vedle sebe např. 3200 bloků po pěti sloupcích, každý s milionem řádků. Garantuji vám, že je to daleko víc, než kolik je k dispozici "systémových prostředků" pro Excel na libovolném myslitelném PC.
Uložení dat z jednoho zdroje na jednom listu se mi jeví jako kompaktnější způsob importu dat do excelského sešitu, než ten, který jste zvolil.citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje