Toto je starší verze dokumentu!


Chybný oddělovač údajů

Jediný přípustný oddělovač údajů v CSV souboru je (jak už plyne z názvu formátu, tj. Comma Separated Values) čárka, tj. znak , s UTF-8 kódem U+002C. Může se ale stát, že váš soubor používá jiný oddělovač, v českém prostředí zejména středník ;, a proto není validní. Nejčastěji je to způsobeno tvorbou CSV souboru pomocí exportu tabulky z aplikace Microsoft Excel, která má ale podporu CSV implementovánu chybně.

Po otevření CSV souboru tabulkovým editorem jsou všechny údaje na řádku zobrazeny v jedné buňce.

CSV s chybným oddělovačem

Chybný oddělovač lze zjistit buďto použitím validátoru, nebo jednoduše otevřením souboru textovém editoru a vizuální kontrolou oddělovače.

Je třeba zajistit, že soubor používá správný oddělovač, tzn. čárku ,. To lze několika způsoby.

Nejjednodušší je zásah u zdroje problému, tedy pokud CSV soubor exportujeme z databáze, nebo generujeme v kódu aplikace, mělo by jít oddělovač nastavit na čárku.

Jedna z cest k validnímu CSV vede přes použití importní funkce Google Sheets, která ale funguje jen pro menší soubory. Budeme potřebovat Google účet, který ale lze zřídit zdarma.

  • Z Google Drive (Disk Google) otevřeme nový Google Spreadsheet
  • V menu File klikneme na Import

Nahrání souboru do importní funkce Google Sheets

  • V záložce Upload zvolíme soubor s chybným oddělovačem

Zvolení souboru pro import do Google Sheets

  • V dialogu nastavíme oddělovač na středník ;

Nastavení středníku jako oddělovače pro import v Google Sheets

  • Po doběhnutí importu máme data v Google Sheets

Data v Google Sheets

  • Pak můžeme data stáhnout jako validní CSV soubor

Stažení CSV souboru z Google Sheets

Microsoft Excel má export CSV souboru chybně implementován. Jako oddělovač volí to, co má operační systém Windows nastaveno v Regionálním nastavení jako oddělovač seznamu, což je v českém prostředí středník ;. Výsledkem je tedy nevalidní soubor. Mohlo by se zdát, že řešením je tedy přenastavit toto nastavení. Řešení je to ale jen částečné, protože vzniklý soubor stejně není v kódování UTF-8 a byla by nutná další konverze. Můžeme ale rovněž využít Google Sheets jako v předešlém kroku, a to i pro velké XLS(X) soubory.

  • Do Google Drive nahrajeme XLS(X) soubor a otevřeme ho pomocí Google Sheets
  • Stáhneme data do CSV souboru

Stažení CSV souboru z Google Sheets

  • standardy/csv/chybný-oddělovač.1504526170.txt.gz
  • Poslední úprava: 2020/06/03 09:36
  • (upraveno mimo DokuWiki)