Sdílet prostřednictvím


Text/CSV

Shrnutí

Položka Popis
Stav uvolnění Obecná dostupnost
Produkty Excel
Power BI (sémantické modely)
Power BI (Datové toky)
Platforma (Tok dat Gen2)
Power Apps (datové toky)
Dynamics 365 Customer Insights
Analysis Services
Referenční dokumentace k funkcím File.Contents
Lines.FromBinary
Csv.Document

Poznámka:

Některé funkce můžou být přítomné v jednom produktu, ale ne v jiných kvůli plánům nasazení a možnostem specifickým pro jednotlivé hostitele.

Podporované možnosti

  • Dovoz

Připojení k místnímu textovému souboru nebo souboru CSV z Power Query Desktopu

Načtení místního textového souboru nebo souboru CSV:

  1. Vyberte možnost Text/CSV v části Získat data. Tato akce spustí místní prohlížeč souborů, kde můžete vybrat textový soubor.

    Snímek obrazovky s otevřeným prohlížečem souborů, když provádíte výběr textového souboru.

    Výběrem Open (Otevřít) soubor otevřete.

  2. V navigátoru můžete transformovat data v editoru Power Query výběrem možnosti Transformovat data nebo načíst data výběrem možnosti Načíst.

    Snímek obrazovky s ukázkovým textem v Navigátoru

Připojení k textovému souboru nebo souboru CSV z Power Query Online

Načtení místního textového souboru nebo souboru CSV:

  1. Na stránce Zdroje dat vyberte Text/CSV.

  2. V nastavení připojení buď nahrajte soubor, nebo zadejte cestu k místnímu textovému nebo CSV souboru, který chcete.

    Snímek obrazovky s výběrem online textového souboru

  3. Vyberte místní datovou bránu z datové brány.

  4. Zadejte uživatelské jméno a heslo.

  5. Vyberte Další.

  6. V navigátoru vyberte Transformovat data a začněte transformovat data v editoru Power Query.

    Snímek obrazovky s oknem online navigátoru, ve kterém vyberete Transformovat data

Načtení z webu

Pokud chcete načíst text nebo soubor CSV z webu, vyberte webový konektor, zadejte webovou adresu souboru a postupujte podle výzev k zadání přihlašovacích údajů.

Oddělovače textu/CSV

Power Query zpracovává CSV soubory jako strukturované soubory s čárkou jako oddělovačem - zvláštní případ textového souboru. Pokud zvolíte textový soubor, Power Query se automaticky pokusí zjistit, jestli obsahuje hodnoty oddělené oddělovačem a jaký je tento oddělovač. Pokud může odvodit oddělovač, automaticky s ním zachází jako se strukturovaným zdrojem dat.

Nestrukturovaný text

Pokud textový soubor nemá strukturu, získáte jeden sloupec s novým řádkem zakódovaným ve zdrojovém textu. Jako příklad pro nestrukturovaný text můžete zvážit soubor poznámkového bloku s následujícím obsahem:

Hello world.
This is sample data.

Když ho načtete, zobrazí se navigační obrazovka, která načte každý z těchto řádků do vlastního řádku.

Snímek obrazovky s navigátorem s načtenými daty z jednoduchého nestrukturovaného textového souboru

V tomto dialogovém okně můžete nakonfigurovat jenom jednu věc, což je výběr rozevíracího seznamu Původ souboru . V tomto rozevíracím seznamu můžete vybrat , která znaková sada byla použita k vygenerování souboru. V současné době se znaková sada nedetekuje a UTF-8 se detekuje pouze pokud začíná znakem BOM UTF-8.

Snímek obrazovky s výběrem kulturního nastavení souboru pro Text/CSV.

formát CSV

Tady najdete ukázkový soubor CSV.

Kromě původu souboru podporuje CSV také určení oddělovače a způsobu zpracování detekce datového typu.

Snímek obrazovky s navigátorem zobrazujícím načtená data ze souboru CSV

Mezi dostupné oddělovače patří dvojtečka, čárka, znaménko rovná se, středník, mezera, tabulátor, vlastní oddělovač (který může být libovolný řetězec) a pevná šířka (rozdělení textu podle určitého standardního počtu znaků).

Snímek obrazovky s výběrem oddělovače pro soubor CSV

Poslední rozevírací seznam umožňuje vybrat, jak chcete zpracovávat detekci datových typů. Dá se provést na základě prvních 200 řádků nebo celé datové sady. Můžete také zvolit, že automatické zjišťování datových typů neprobějde a místo toho necháte všechny sloupce ve výchozím nastavení textovat. Upozornění: Pokud to uděláte pro celou sadu dat, může to způsobit pomalejší počáteční načtení dat v editoru.

Snímek obrazovky s výběrem odvození datového typu pro soubor CSV

Vzhledem k tomu, že odvození může být nesprávné, je vhodné před načtením pečlivě zkontrolovat nastavení.

Strukturovaný text

Když Power Query dokáže rozpoznat strukturu textového souboru, považuje textový soubor za soubor hodnot oddělený oddělovačem a poskytuje stejné možnosti, jaké máte k dispozici při otevření souboru CSV – což je v podstatě soubor s příponou označující typ oddělovače.

Pokud například uložíte následující příklad jako textový soubor, bude se jeho obsah jevit jako tabulkový text s oddělovačem tabulátoru, nikoli jako nestrukturovaný text.

Column 1	Column 2	Column 3
This is a string.	1	ABC123
This is also a string.	2	DEF456

Snímek obrazovky znázorňující načtená data ze strukturovaného textového souboru

Tuto strukturu lze použít pro jakýkoli druh jiného souboru založeného na oddělovači.

Úprava zdroje

Při úpravě zdrojového kroku (v podokně Použitý postup v Power Query Desktopu) se zobrazí trochu jiné dialogové okno, než při počátečním načítání. V závislosti na tom, co s tímto souborem právě pracujete (tj. jako s textem nebo souborem CSV), se zobrazí obrazovka s různými rozevíracími seznamy.

Snímek obrazovky s dialogovým oknem, ve kterém upravíte zdrojový krok dotazu, který přistupuje k souboru CSV

Rozevírací seznam Konce řádků umožňuje vybrat, jestli chcete použít konce řádků, které jsou uvnitř uvozovek nebo ne.

Snímek obrazovky s rozevíracím seznamem, kde vyberete styl konce řádku pro soubor CSV

Pokud například upravíte dříve zadanou ukázku strukturovanou, můžete přidat konec řádku.

Column 1	Column 2	Column 3
This is a string.	1	"ABC
123"
This is also a string.	2	"DEF456"

Pokud je zalomení řádku nastaveno na Ignorovat zalomení řádků v uvozovkách, tato ukázka se načte s druhou polovinou řetězce pod první polovinou ve stejném sloupci.

Načtení souboru CSV s ignorovanými konci řádků v uvozovkách

Pokud je nastaveno zalomení řádků na Použít všechny konce řádků, tento příklad načte další řádek, přičemž obsah za zalomením řádků je jediným obsahem v tomto řádku (přesný výstup může záviset na struktuře obsahu souboru).

Načtení souboru CSV s použitými koncem řádků v uvozových ložkách

Rozevírací seznam Otevřít soubor jako umožňuje upravit nastavení načítání souboru, což je důležité pro řešení potíží. U strukturovaných souborů, které technicky nejsou CSV (například soubor s hodnotami oddělenými tabulátorem), byste stále měli mít nastaveno Otevřít soubor jako CSV. Toto nastavení také určuje, které rozevírací seznamy jsou k dispozici ve zbývající části dialogového okna.

Změna typu souboru

Text/CSV podle příkladu

Text/CSV podle příkladu v Power Query je obecně dostupná funkce v Power BI Desktopu a Power Query Online. Když použijete konektor Text/CSV, zobrazí se možnost extrahovat tabulku pomocí příkladů v levém dolním rohu navigátoru.

Použití možnosti Extrahovat tabulku pomocí příkladů

Když toto tlačítko vyberete, přejdete na stránku Extrahovat tabulku pomocí příkladů . Na této stránce zadáte ukázkové výstupní hodnoty pro data, která chcete extrahovat ze souboru Text/CSV. Po zadání první buňky sloupce se vyplní další buňky ve sloupci. Aby se data správně extrahovali, budete možná muset do sloupce zadat více než jednu buňku. Pokud jsou některé buňky ve sloupci nesprávné, můžete opravit první nesprávnou buňku a data se znovu extrahují. Pokud chcete zajistit úspěšné extrahování dat, zkontrolujte data v prvních několika buňkách.

Poznámka:

Doporučujeme zadat příklady v pořadí sloupců. Po úspěšném vyplnění sloupce vytvořte nový sloupec a začněte do nového sloupce zadávat příklady.

Zadejte ukázkové výstupní hodnoty pro extrakci dat.

Po dokončení vytváření této tabulky můžete buď vybrat načtení nebo transformaci dat. Všimněte si, že výsledné dotazy obsahují podrobný rozpis všech kroků odvozených pro extrakci dat. Tyto kroky jsou běžné kroky dotazu, které můžete podle potřeby přizpůsobit.

Podrobný rozpis kroků pro extrakci dat

Řešení problémů

Načítání souborů z webu

Pokud požadujete textové/csv soubory z webu a také propagujete hlavičky, a načítáte velké množství souborů, že máte obavy z potenciálního omezování, měli byste zvážit zabalení vašeho Web.Contents volání pomocí Binary.Buffer(). V tomto případě buferování souboru před zpracováním hlaviček způsobí, že soubor bude požadován pouze jednou.

Práce s velkými soubory CSV

Pokud pracujete s velkými soubory CSV v editoru Power Query Online, může se zobrazit vnitřní chyba. Doporučujeme nejprve pracovat se souborem CSV s menší velikostí, použít kroky v editoru a po dokončení změnit cestu k většímu souboru CSV. Tato metoda umožňuje pracovat efektivněji a snižuje pravděpodobnost, že v online editoru dojde k vypršení časového limitu. Neočekáváme, že během doby aktualizace narazíte na tuto chybu, protože umožňujeme delší časový limit.

Nestrukturovaný text interpretovaný jako strukturovaný

Ve výjimečných případech může být dokument s podobnými čárkami v odstavcích interpretován jako CSV. Pokud k tomuto problému dojde, upravte krok Zdroj v editoru Power Query a v rozevíracím seznamu Otevřít soubor jako vyberte text místo souboru CSV.

Sloupce v Power BI Desktopu

Při importu souboru CSV vygeneruje Power BI Desktop sloupec=x ( kde x je počet sloupců v souboru CSV během počátečního importu) jako krok v editoru Power Query. Pokud později přidáte další sloupce a zdroj dat se nastaví na aktualizaci, neaktualizuje se všechny sloupce nad počátečním počtem x sloupců.

Chyba: Připojení zavřené hostitelem

Při načítání souborů Text/CSV z webového zdroje a povýšení hlaviček může někdy dojít k následujícím chybám: "An existing connection was forcibly closed by the remote host" nebo "Received an unexpected EOF or 0 bytes from the transport stream." hostitel může způsobit tyto chyby použitím ochranných opatření a zavřením připojení, které může být dočasně pozastaveno, například při čekání na jiné připojení ke zdroji dat pro sloučení nebo připojení dat. Chcete-li tyto chyby obejít, zkuste přidat Binary.Buffer (doporučeno) nebo Table.Buffer volání, které stáhne soubor, načte ho do paměti a okamžitě připojení zavře. Tato akce by měla zabránit pozastavení během stahování a zabránit vynucení ukončení připojení před načtením obsahu hostitelem.

Následující příklad ukazuje toto alternativní řešení. Toto ukládání do vyrovnávací paměti je potřeba provést před předáním výsledné tabulky do Table.PromoteHeaders.

  • Původní:
Csv.Document(Web.Contents("https://.../MyFile.csv"))
  • S Binary.Buffer:
Csv.Document(Binary.Buffer(Web.Contents("https://.../MyFile.csv")))
  • S Table.Buffer:
Table.Buffer(Csv.Document(Web.Contents("https://.../MyFile.csv")))