Obsah
CSV sa neotvára správne v programe Excel? Tento návod skúma typické problémy a poskytuje najúčinnejšie riešenia.
Formát CSV sa bežne používa na import/export údajov medzi rôznymi tabuľkovými programami. Názov CSV (comma separated values - hodnoty oddelené čiarkou) naznačuje použitie čiarky na oddelenie dátových polí. To je však len v teórii. V praxi mnohé takzvané súbory CSV oddeľujú údaje pomocou iných znakov, napríklad stredníka alebo tabulátora. Niektoré implementácie uzatvárajú dátové polia jednoduchými alebo dvojitými úvodzovkami, zatiaľ čoiné vyžadujú pre správnu interpretáciu Unicode značku poradia bajtov (BOM), napríklad UTF-8. Absencia štandardu spôsobuje rôzne problémy pri konverzii CSV do Excelu.
Súbor CSV sa v programe Excel otvorí v jednom stĺpci
Príznaky Pri otvorení súboru csv v programe Excel sa všetky údaje zobrazia v jednom stĺpci.
Príčina . Na rozdelenie údajov v stĺpcoch používa Excel oddeľovač zoznamu nastavený v regionálnych nastaveniach systému Windows. Môže to byť buď čiarka (v Severnej Amerike a niektorých ďalších krajinách), alebo stredník (v európskych krajinách). Ak sa oddeľovač použitý v konkrétnom súbore .csv líši od predvoleného oddeľovača, tento súbor sa otvorí v jednom stĺpci.
Riešenia . V tomto prípade existuje niekoľko možných riešení vrátane makier VBA alebo globálnej zmeny v nastaveniach systému Windows. Ukážeme si, ako tento problém rýchlo vyriešiť bez zmeny predvoleného oddeľovača zoznamov v počítači, takže nebude ovplyvnená žiadna z vašich aplikácií.
Zmena oddeľovača v súbore CSV
Aby Excel dokázal čítať CSV s iným oddeľovačom, môžete definovať oddeľovač priamo v tomto súbore. Ak to chcete urobiť, otvorte súbor v ľubovoľnom textovom editore (Notepad bude stačiť) a do prvého riadku pridajte nasledujúci text. Všimnite si, že by to mal byť samostatný riadok pred ostatnými údajmi:
- Oddelenie čiarkou: sep=,
- Oddelenie stredníkom: sep=;
Rovnakým spôsobom môžete nastaviť akýkoľvek iný vlastný oddeľovač - stačí ho zadať za znamienko rovnosti.
Po definovaní vhodného oddeľovača môžete teraz súbor otvoriť obvyklým spôsobom, zo samotného programu Excel alebo z Prieskumníka systému Windows.
Zadanie oddeľovača pri importe súboru CSV do programu Excel
Namiesto otvorenia súboru csv v programe Excel ho importujte pomocou Sprievodcu importom textu (vo všetkých verziách) alebo Power Query (v programe Excel 365 - 2016).
Sprievodca importom textu ( Údaje karta> Z textu ) poskytuje niekoľko možností pre oddeľovače v kroku 2. Vo všeobecnosti by ste si mali vybrať:
- Čiarka pre súbory s hodnotami oddelenými čiarkou
- Karta pre textové súbory
- Stredník pre súbory s hodnotami oddelenými bodkočiarkou
Ak si nie ste istí, aký oddeľovač vaše údaje obsahujú, vyskúšajte rôzne oddeľovače a zistite, ktorý z nich funguje správne v náhľade údajov.
Pri vytváraní spojenia Power Query môžete v dialógovom okne Náhľad vybrať oddeľovač:
Podrobné pokyny krok za krokom nájdete vo vyššie uvedených príkladoch.
Rozdelenie buniek pomocou funkcie Text do stĺpcov
V prípade, že sú vaše údaje už prenesené do programu Excel, môžete ich rozdeliť do rôznych stĺpcov pomocou príkazu Text do stĺpcov V podstate funguje ako Sprievodca importom textu: vyberiete oddeľovač a Náhľad údajov odráža zmeny za behu:
Podrobné informácie nájdete v časti Ako rozdeliť bunky v programe Excel.
Ako zachovať úvodné nuly v programe Excel CSV
Príznaky. Niektoré hodnoty v súbore csv obsahujú úvodné nuly. Keď sa súbor otvorí v programe Excel, predchádzajúce nuly sa stratia.
Príčina Microsoft Excel predvolene konvertuje súbory csv do formátu Všeobecné formát, ktorý odstraňuje úvodné nuly.
Riešenie Namiesto otvorenia importujte CSV do programu Excel a vyberte Text formát problematických stĺpcov.
Používanie sprievodcu importom textu
Na začiatok Sprievodca importom textu automaticky zmeniť príponu súboru z .csv na .txt a potom otvoriť textový súbor z programu Excel. Alebo zapnite funkciu Z textu (staršie) a začnite importovať CSV do programu Excel.
V kroku 3 sprievodcu vyberte stĺpec obsahujúci hodnoty s úvodnými nulami a zmeňte jeho formát na Text . Tým sa hodnoty importujú ako textové reťazce so zachovaním všetkých úvodných núl.
Používanie Power Query
Ak dávate prednosť importu súboru csv do programu Excel pripojením k nemu, existujú dva spôsoby, ako zachovať úvodné nuly.
Metóda 1: Import všetkých údajov v textovom formáte
V dialógovom okne náhľadu v časti Detekcia typu údajov , vyberte si Nezisťovať typy údajov Obsah vášho súboru csv sa načíta do programu Excel ako text a všetky úvodné nuly sa zachovajú.
Poznámka: Táto metóda funguje dobre, ak váš súbor obsahuje iba text Ak existujú rôzne druhy hodnôt, použite metódu 2 na definovanie vhodného formátu pre každý stĺpec osobitne.
Metóda 2: Nastavenie formátu pre každý stĺpec
Ak súbor csv obsahuje rôzne typy údajov, ako napríklad text, čísla, meny, dátumy a časy, môžete explicitne určiť, ktorý formát sa má použiť pre každý konkrétny stĺpec.
- Pod náhľadom údajov kliknite na Transformácia údajov .
- V editore Power Query vyberte stĺpec, v ktorom chcete zachovať predchádzajúce nuly, a kliknite na tlačidlo Typ údajov > Text .
- Zavrieť & Načítať - načítajú sa výsledky do nového hárka v aktuálnom zošite.
- Zavrieť & Načítať Na... - umožní vám rozhodnúť, kam sa majú výsledky načítať.
Tip. Tieto metódy môžu zabrániť aj ďalším manipuláciám s údajmi, ktoré sa Excel pokúša vykonať automaticky. Napríklad ak sa importované údaje začínajú znakom "=", Excel sa ich pokúsi vypočítať. Text formát, naznačujete, že hodnoty sú reťazce, nie vzorce.
Ako opraviť problémy s formátom dátumu CSV v programe Excel
Príznaky. Po konverzii CSV do programu Excel sú dátumy nesprávne formátované, dni a mesiace sú vymenené, niektoré dátumy sú zmenené na text a niektoré textové hodnoty sú automaticky formátované ako dátumy.
Príčina V súbore csv sú dátumy zapísané vo formáte odlišnom od predvoleného formátu dátumu nastaveného vo vašom operačnom systéme, kvôli čomu Excel nedokáže správne interpretovať dátumy.
Riešenie V závislosti od toho, s akým problémom sa stretávate, vyskúšajte jedno z nasledujúcich riešení.
Dni a mesiace sú pomiešané
Ak sa formáty dátumu v regionálnych nastaveniach systému Windows a v súbore csv líšia, program Excel nemá možnosť určiť, že mm/dd/rrr Dátumy, ktoré hľadá, sú uložené v dd/mm/rrr Výsledkom je, že jednotky dňa a mesiaca sú obrátené: január-3 sa stáva Mar-1 , január-10 sa stáva október-1 a tak ďalej. Okrem toho, dátumy po január-12 sú prevedené na textové reťazce, pretože neexistuje 13., 14. atď. mesiac.
Aby sa dátumy importovali správne, spustite Sprievodcu importom textu a vyberte príslušné Dátum formát v kroku 3:
Niektoré hodnoty sú prevedené na dátumy
Program Microsoft Excel je navrhnutý tak, aby uľahčil zadávanie rôznych druhov hodnôt. Preto ak sa program Excel domnieva, že daná hodnota predstavuje dátum, automaticky ju naformátuje ako dátum. apr23 vyzerá veľmi podobne ako 23. apríla a 11/3 sa podobá na 3. novembra , takže obidve hodnoty sú prevedené na dátumy.
Ak chcete zabrániť programu Excel meniť textové hodnoty na dátumy, použite už známy prístup: importujte súbor CSV do programu Excel. V kroku 3 Sprievodca importom textu , vyberte problematický stĺpec a zmeňte jeho formát na Text .
Dátumy sú nesprávne formátované
Keď sa súbor csv otvorí v programe Excel, dátumy sa zvyčajne zobrazia v predvolenom formáte. 7-máj-21 alebo 05/07/21 , zatiaľ čo v programe Excel sa zobrazuje ako 5/7/2021 .
Ak chcete zobraziť dátumy v požadovanom formáte, použite Formátovanie buniek funkcia:
- Vyberte stĺpec dátumov.
- Stlačením klávesovej skratky Ctrl + 1 otvoríte Formátovanie buniek dialógové okno.
- Na Číslo vyberte kartu Dátum pod Kategória .
- Pod Typ , vyberte požadované formátovanie.
- Kliknite na tlačidlo OK.
Ak vám žiadny z prednastavených formátov nevyhovuje, môžete si vytvoriť vlastný formát, ako je vysvetlené v časti Ako vytvoriť vlastný formát dátumu v programe Excel.
Zabránenie programu Excel v konverzii čísel na vedecký zápis
Príznaky. Po konverzii CSV do programu Excel sa dlhé čísla naformátujú ako vedecký zápis, napr. 1234578900 sa zobrazí ako 1,23E+09.
Príčina V programe Microsoft Excel sú čísla obmedzené na 15 číslic. Ak čísla v súbore csv prekročia tento limit, program Excel ich automaticky prevedie na vedecký zápis, aby sa dodržal tento limit. Ak číslo obsahuje viac ako 15 významných číslic, všetky "nadbytočné" číslice na konci sa zmenia na nuly.
Riešenie . Importovať dlhé čísla ako text alebo zmeniť formát čísla priamo v programe Excel.
Importovanie dlhých čísel ako textu
Ak chcete presne preniesť veľké čísla z CSV do programu Excel, spustite príkaz Sprievodca importom textu a nastavte formát cieľového stĺpca (stĺpcov) na Text .
Toto je jediné skutočné riešenie presného importu číselné reťazce bez straty údajov, t. j. bez nahradenia 16. a nasledujúcich číslic číslicami 0 alebo odstránenia úvodných núl. Funguje to skvele pre položky, ako sú identifikátory produktov, čísla účtov, čiarové kódy a podobne.
Ak však vaše hodnoty nie sú reťazce, ale čísla, nie je to najlepšia metóda, pretože na výsledných textových hodnotách nebudete môcť vykonávať žiadne matematické výpočty.
Táto metóda vám tiež pomôže zabrániť ďalšiemu nežiaducemu automatickému formátovaniu údajov pri konverzii súboru CSV.
Zmena formátu čísla v programe Excel
Ak sú vaše údaje už v programe Excel, môžete zmeniť formát z Všeobecné buď na Text alebo Číslo ako je uvedené nižšie:
Poznámka: Táto metóda neobnoví odstránené predchádzajúce nuly alebo číslice po 15. pozícii, ktoré boli nahradené nulami.
Ďalšie informácie nájdete v časti Ako formátovať bunky v programe Excel.
Rozšírenie stĺpca
V najjednoduchšom prípade, keď číslo obsahuje menej ako 15 číslic, stačí stĺpec trochu rozšíriť, aby sa čísla zobrazili normálne.
Ďalšie podrobnosti nájdete v časti Ako zmeniť veľkosť a automatické prispôsobenie stĺpcov v programe Excel.
Takto sa dajú vyriešiť najčastejšie problémy, ktoré sa môžu vyskytnúť pri konverzii CSV do Excelu. Ďakujeme za prečítanie a uvidíme sa budúci týždeň!