Obsah
CSV se v Excelu neotevírá správně? Výukový program zkoumá typické problémy a nabízí nejúčinnější řešení.
Formát CSV se běžně používá pro import/export dat mezi různými tabulkovými procesory. Název CSV (comma separated values) naznačuje použití čárky pro oddělení datových polí. To je však pouze v teorii. V praxi mnoho tzv. souborů CSV odděluje data pomocí jiných znaků, jako je středník nebo tabulátor. Některé implementace uzavírají datová pole jednoduchými nebo dvojitými uvozovkami, zatímco např.jiné vyžadují pro správnou interpretaci Unicode značku pořadí bajtů (BOM), například UTF-8. Absence standardu plodí různé problémy při převodech CSV do Excelu.
Soubor CSV se v aplikaci Excel otevře v jednom sloupci
Příznaky . Při otevření souboru csv v aplikaci Excel se všechna data zobrazí v jednom sloupci.
Příčina . Pro rozdělení dat do sloupců používá Excel oddělovač seznamu nastavený v regionálním nastavení systému Windows. Může to být buď čárka (v Severní Americe a některých dalších zemích), nebo středník (v evropských zemích). Pokud se oddělovač použitý v konkrétním souboru .csv liší od výchozího oddělovače, otevře se tento soubor v jednom sloupci.
Řešení . Pro tento případ existuje několik možných řešení, včetně maker VBA nebo globální změny v nastavení systému Windows. Ukážeme si, jak tento problém rychle vyřešit, aniž byste museli měnit výchozí oddělovač seznamu v počítači, takže nebude ovlivněna žádná z vašich aplikací.
Změna oddělovače v souboru CSV
Aby byl Excel schopen číst CSV s jiným oddělovačem, můžete definovat oddělovač přímo v tomto souboru. Chcete-li to provést, otevřete soubor v libovolném textovém editoru (Notepad bude stačit) a přidejte níže uvedený text na první řádek. Všimněte si, že by měl být na samostatném řádku před ostatními údaji:
- Oddělení čárkou: sep=,
- Oddělení středníkem: sep=;
Stejným způsobem můžete nastavit jakýkoli jiný vlastní oddělovač - stačí jej zadat za znak rovnosti.
Po definování vhodného oddělovače můžete nyní soubor otevřít obvyklým způsobem, a to přímo z aplikace Excel nebo z Průzkumníka Windows.
Zadání oddělovače při importu souboru CSV do aplikace Excel
Místo otevírání souboru csv v aplikaci Excel jej importujte pomocí Průvodce importem textu (ve všech verzích) nebo Power Query (v aplikaci Excel 365 - 2016).
Průvodce importem textu ( Data karta> Z textu ) nabízí několik možností pro oddělovače v kroku 2. Obecně byste měli zvolit:
- Čárka pro soubory s hodnotami oddělenými čárkou
- Karta pro textové soubory
- Středník pro soubory s hodnotami oddělenými středníkem
Pokud si nejste jisti, jaký oddělovač vaše data obsahují, vyzkoušejte různé oddělovače a zjistěte, který z nich funguje správně v náhledu dat.
Při vytváření spojení Power Query můžete v dialogovém okně Náhled vybrat oddělovač:
Podrobné pokyny krok za krokem naleznete ve výše uvedených příkladech.
Rozdělení buněk pomocí funkce Text do sloupců
V případě, že jsou data již přenesena do aplikace Excel, můžete je rozdělit do různých sloupců pomocí příkazu Text do sloupců V podstatě funguje stejně jako Průvodce importem textu: vyberete oddělovač a Náhled dat odráží změny za běhu:
Podrobné informace naleznete v části Jak rozdělit buňky v aplikaci Excel.
Jak zachovat počáteční nuly v aplikaci Excel CSV
Příznaky. Některé hodnoty v souboru csv obsahují počáteční nuly. Při otevření souboru v aplikaci Excel se předchozí nuly ztratí.
Příčina . Ve výchozím nastavení Microsoft Excel převádí soubory csv do formátu Obecné formát, který odstraňuje počáteční nuly.
Řešení . Místo otevření importujte CSV do aplikace Excel a vyberte možnost Text formát problematických sloupců.
Použití Průvodce importem textu
Na začátek Průvodce importem textu automaticky změňte příponu souboru z .csv na .txt a poté otevřete textový soubor z aplikace Excel. Nebo povolte funkci Z textu (Legacy) a začněte importovat CSV do aplikace Excel.
V kroku 3 průvodce vyberte sloupec obsahující hodnoty s počátečními nulami a změňte jeho formát na. Text . Tím se hodnoty importují jako textové řetězce se zachováním všech počátečních nul.
Použití nástroje Power Query
Pokud dáváte přednost importu souboru csv do aplikace Excel připojením k ní, existují dva způsoby, jak zachovat počáteční nuly.
Metoda 1: Import všech dat v textovém formátu
V dialogovém okně náhledu v části Detekce typu dat , vyberte si Nezjišťovat datové typy . Obsah souboru csv se načte do aplikace Excel jako text a všechny počáteční nuly zůstanou zachovány.
Poznámka: Tato metoda funguje dobře, pokud váš soubor obsahuje pouze text Pokud existují různé druhy hodnot, použijte metodu 2 a definujte vhodný formát pro každý sloupec zvlášť.
Metoda 2: Nastavení formátu pro každý sloupec
Pokud soubor csv obsahuje různé typy dat, například text, čísla, měny, data a časy, můžete výslovně určit, který formát má být použit pro každý sloupec.
- Pod náhledem dat klikněte na Transformace dat .
- V Editoru dotazů Power Query vyberte sloupec, ve kterém chcete zachovat předcházející nuly, a klikněte na tlačítko . Typ dat > Text .
- Zavřít & Načíst - načte výsledky do nového listu v aktuálním sešitě.
- Zavřít & Načíst Na... - zde se můžete rozhodnout, kam se mají výsledky načíst.
Tip: Tyto metody mohou také zabránit dalším manipulacím s daty, které se Excel snaží provádět automaticky. Například pokud importovaná data začínají znakem "=", Excel se je pokusí vypočítat. Použitím metody Text formát, naznačujete, že hodnoty jsou řetězce, nikoli vzorce.
Jak opravit problémy s formátem data CSV v aplikaci Excel
Příznaky. Po převodu CSV do aplikace Excel jsou data nesprávně formátována, dny a měsíce jsou prohozeny, některá data jsou změněna na text a některé textové hodnoty jsou automaticky formátovány jako data.
Příčina . V souboru csv jsou data zapsána ve formátu odlišném od výchozího formátu data nastaveného v operačním systému, kvůli čemuž Excel nedokáže data správně interpretovat.
Řešení Podle toho, s jakým problémem se potýkáte, vyzkoušejte jedno z následujících řešení.
Dny a měsíce jsou pomíchané
Pokud se formáty data v regionálních nastaveních systému Windows a v souboru csv liší, Excel nemůže určit, že mm/dd/rr data, která hledá, jsou uložena v dd/mm/rr V důsledku toho jsou jednotky dne a měsíce obrácené: leden-3 se stává Mar-1 , leden-10 se stává Říjen-1 a tak dále. Navíc data po leden-12 jsou převedeny na textové řetězce, protože neexistuje žádný 13., 14. atd. měsíc.
Aby se data importovala správně, spusťte Průvodce importem textu a zvolte příslušné datumy. Datum formát v kroku 3:
Některé hodnoty jsou převedeny na data
Aplikace Microsoft Excel je navržena tak, aby usnadňovala zadávání různých druhů hodnot. Proto pokud se aplikace Excel domnívá, že daná hodnota představuje datum, automaticky ji naformátuje jako datum. Například textový řetězec dubna23 vypadá velmi podobně jako 23. dubna a 11/3 se podobá 3. listopadu , takže obě hodnoty jsou převedeny na data.
Chcete-li zabránit tomu, aby Excel měnil textové hodnoty na data, použijte již známý postup: převeďte CSV do Excelu tak, že jej importujete. V kroku 3. Průvodce importem textu , vyberte problematický sloupec a změňte jeho formát na Text .
Data jsou nesprávně formátována
Při otevření souboru csv v aplikaci Excel se data obvykle zobrazují ve výchozím formátu. 7-May-21 nebo 05/07/21 , zatímco v Excelu se zobrazí jako 5/7/2021 .
Chcete-li zobrazit data v požadovaném formátu, použijte příkaz Formátování buněk funkce:
- Vyberte sloupec dat.
- Stisknutím klávesové zkratky Ctrl + 1 otevřete Formátování buněk dialogové okno.
- Na Číslo vyberte kartu Datum pod Kategorie .
- Pod Typ , vyberte požadované formátování.
- Klikněte na tlačítko OK.
Pokud vám žádný z přednastavených formátů nevyhovuje, můžete si vytvořit vlastní, jak je vysvětleno v části Jak vytvořit vlastní formát data v aplikaci Excel.
Zabránit aplikaci Excel v převodu čísel na vědecký zápis
Příznaky. Po převodu CSV do Excelu jsou dlouhá čísla formátována jako vědecký zápis, např. 1234578900 se zobrazí jako 1,23E+09.
Příčina . V aplikaci Microsoft Excel jsou čísla omezena na 15 číslic přesnosti. Pokud čísla v souboru csv tento limit překročí, aplikace Excel je automaticky převede na vědecký zápis, aby se tomuto limitu vyhovělo. Pokud číslo obsahuje více než 15 významných číslic, všechny "přebytečné" číslice na konci se změní na nuly.
Řešení . Importovat dlouhá čísla jako text nebo změnit formát čísla přímo v aplikaci Excel.
Import dlouhých čísel jako textu
Chcete-li přesně přenést velká čísla z CSV do aplikace Excel, spusťte příkaz Průvodce importem textu a nastavte formát cílového sloupce (cílových sloupců) na hodnotu Text .
To je jediné skutečné řešení, jak přesně importovat číselné řetězce bez ztráty dat, tj. bez nahrazení šestnácté a následujících číslic nulou nebo odstranění počátečních nul. Funguje to skvěle pro položky, jako jsou identifikační čísla produktů, čísla účtů, čárové kódy a podobně.
Pokud však vaše hodnoty nejsou řetězce, ale čísla, není to nejlepší metoda, protože s výslednými textovými hodnotami nelze provádět žádné matematické výpočty.
Tato metoda vám také pomůže zabránit dalšímu nežádoucímu automatickému formátování dat při převodu souboru CSV.
Změna formátu čísla v aplikaci Excel
Pokud jsou data již v aplikaci Excel, můžete změnit formát z Obecné buď na Text nebo Číslo jak je uvedeno níže:
Poznámka: Tato metoda neobnoví odstraněné předchozí nuly ani číslice za 15. pozicí, které byly nahrazeny nulami.
Další informace naleznete v části Jak formátovat buňky v aplikaci Excel.
Rozšíření sloupce
V nejjednodušším případě, kdy číslo obsahuje méně než 15 číslic, stačí sloupec trochu rozšířit, aby se čísla zobrazovala normálně.
Další podrobnosti naleznete v části Jak změnit velikost a automatické přizpůsobení sloupců v aplikaci Excel.
To je návod na odstranění nejčastějších problémů, které se mohou vyskytnout při převodu CSV do Excelu. Děkujeme za přečtení a uvidíme se příští týden!