< návrat zpět

MS Excel


Téma: Zredukovat data v souboru rss

Zaslal/a 15.9.2022 15:38

Zdravím, potřeboval bych v datovém souboru (vzorek dat s originál formátem) odstranit co druhý řádek tzn. aby zůstalo měření jen 1x za danou hodinu. Je jedno která se budou odstraňovat jestli první nebo druhá v dané hodině.

Prozatím jsem ztroskotal při importu samotného souboru do Excelu kvůli jeho formátu. S pročištěním ve smyčce bych neměl problém, ale pak při exportu do původního formátu zase ano.

Jak na to ?

Příloha: txt53422_data.txt (2kB, staženo 13x)
Zaslat odpověď >

#053423
avatar
třeba pomocí PowerQuery
vytvořil jsem textový soubor z vaší přílohy a v excel souboru načetl do dotazu, výstup potom do Tabulky v Listu.
upravte si cestu a název pro váš soubor a vyzkoušejte
Příloha: zip53423_data.zip (48kB, staženo 8x)
citovat
#053424
avatar
Děkuji, ale přiznávám, že PQ jsem nikdy neviděl. Nepodařilo se mi připojit k jinému souboru a spustit dotaz. Mohu požádat o postup v bodech ?

Jinak to v tabulce vypadá dobřecitovat
#053425
avatar
v buňce M1 je zadaná cesta k souboru *.txt já tam mám
E:\Excel_wall\Data\Data.txt
nevím jak se jmenuje váš zdrojový soubor takže si musíte upravit cestu i s názvem vašeho souboru kde ho máte uložený včetně koncovky
Potom stačí pravý klik na Tabulku a Obnovit
nebo
karta Data->Dotazy a připojení->Aktualizovat vše
a potom jen počkat než se dotaz aktualizuje

Edit: co máte za verzi Excelu?citovat
#053426
avatar
No to jsem zkoušel, ale vyhodí chybu. Mám E2016.
Příloha: png53426_chyba.png (102kB, staženo 11x)
53426_chyba.png
citovat
#053427
avatar
To je hláška ochránce osobních údajů. Ve dvou dotazech se dotazujete na dva zdroje a to mu vadí. (Srozumitelnost je mizerná i v anglické verzi, ale jak to zkomolil lokalizační tým...) Má to bránit proti úniku tajných údajů - ve druhém dotazu je adresa a jméno souboru, spíš to slouží k nas... uživatelů.

Máte dvě možnosti. Sloučit dotazy do jednoho, např.:

let
Soubor = Excel.CurrentWorkbook(){[Name="Cesta"]}[Content]{0}[Column1],
Zdroj = Csv.Document(File.Contents(Soubor),[Delimiter=";", Columns=7, Encoding=1250, QuoteStyle=QuoteStyle.None]),
#"Záhlaví se zvýšenou úrovní" = Table.PromoteHeaders(Zdroj, [PromoteAllScalars=true]),
Řádky = Table.AlternateRows(#"Záhlaví se zvýšenou úrovní", 1,1,1),
#"Změněný typ" = Table.TransformColumnTypes(Řádky,{{"Den", type text}, {"Datum", type date}, {"Cas", type time}, {"OUT_Teplota", type number}, {"IN_Teplota", type number}, {"IN_Vlhkost", type number}, {"Bat", type number}}, "en-GB")
in
#"Změněný typ"


Podstatné jsou jen první dva řádky. Dál jsem jen zjednodušil logiku a převedl čísla na čísla.

Asi lepší je ochranu zakázat. Hlavní menu ve 2016 si nepamatuju, ale vypnout se to dá z prostředí PQ editoru: Soubor > Možnosti a nastavení > možnosti dotazu >

Pak v sekci globální : Ochrana osobních údajů > vždycky ignorovat.

Jen pro soubor se dá totéž nastavit v sekci lokální.citovat
#053428
elninoslov

"Marekh" napsal/a:

ale pak při exportu do původního formátu zase ano.

Vy potrebujete z toho potom zase urobiť textový súbor s rovnakým formátom a Excel chcete použiť iba na tú redukciu?
Potom skúste jednoduché makro. Je naozaj jednoduché, lebo väčšina riadkov je označená "'info" a tie tam byť nemusia, sú len pre vizualizáciu. Pre samotnú úpravu súboru nie sú potrebné. Urobí nový súbor s prídávkom "_1" v názve.

PS: V prípade diakritiky napr. "Středa" vo vizuále vidíte chybu "StĹ™eda" ale v samotnom súbore je to OK.
Příloha: zip53428_redukcia-prveho-riadku-z-hodiny.zip (22kB, staženo 5x)
citovat
#053429
avatar
Lubo :
díky za info. Teď sice načtu, ale vytřídí to nějak divně. Pokusím se s PQ pohrát.

Elninoslov:
zvláštní, opět chyba. Přitom makra mám povolené v zabezpečení a v jiném sešitu makra fungují.
Příloha: png53429_chyba2.png (136kB, staženo 12x)
53429_chyba2.png
citovat
#053430
avatar
při vložení makra do nového sešitu již OK. Děkuji.citovat
#053431
elninoslov
No ak ste dal povoliť pri otvorení súboru, tak fakt netuším, čím je táto hláška spôsobená. Ale vynašiel ste sa. Každopádne makro nepotrebujete, ak tie dáta ostávajú v Exceli. Potom je to zbytočný krok, a stačí to PQ.

PQ: A čo sa Vám na tom nezdá? Veď to dáva správny výsledok.
Iba v prípade, že súbor obsahuje diakritiku zmeňte
Encoding=1250
na
Encoding=65001
V PQ od "veny" je iba 1 parameter navyše, ktorý môj PQ nežerie, ak ani Váš, tak si parameter zmažte
#"Přidané: Index" = Table.AddIndexColumn(#"Změněný typ", "Index", 0, 1, Int64.Type),
na
#"Přidané: Index" = Table.AddIndexColumn(#"Změněný typ", "Index", 0, 1),

Inak oba PQ dávajú rovnaký výsledok. Len "lubo" konvertoval GB/US hodnoty na CZ a "veny" nie.citovat

Uživatelské menu

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

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

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

Aktivní diskuse

Vynásobit hodnoty kurzem - Power Query

Alfan • 26.4. 7:56

Relativní cesta - zdroje Power Query

Alfan • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

elninoslov • 26.4. 7:54

Vynásobit hodnoty kurzem - Power Query

lubo • 25.4. 19:18

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 15:12

Relativní cesta - zdroje Power Query

Alfan • 25.4. 15:08

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 14:21