====== 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ě. ===== Symptomy ===== Po otevření CSV souboru tabulkovým editorem jsou všechny údaje na řádku zobrazeny v jedné buňce. {{:standardy:csv:csv-stredniky.png?nolink|CSV s chybným oddělovačem}} ===== Ověření problému ===== Chybný oddělovač lze zjistit buďto použitím [[http://csvlint.io/|validátoru]], nebo jednoduše otevřením souboru [[https://notepad-plus-plus.org/|textovém editoru]] a vizuální kontrolou oddělovače. ===== Řešení ===== Je třeba zajistit, že soubor používá správný oddělovač, tzn. čárku '',''. To lze několika způsoby. ==== Správné nastavení výstupu u zdroje ==== 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. ==== Konverze pomocí Google Sheets pro menší soubory ==== 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 [[https://accounts.google.com/SignUp|lze zřídit zdarma]]. * Z [[https://drive.google.com|Google Drive (Disk Google)]] otevřeme nový Google Spreadsheet * V menu File klikneme na Import {{:standardy:csv:csv-gs-import-1.png?nolink|Nahrání souboru do importní funkce Google Sheets}} * V záložce Upload zvolíme soubor s chybným oddělovačem {{:standardy:csv:csv-gs-import-2.png?nolink|Zvolení souboru pro import do Google Sheets}} * V dialogu nastavíme oddělovač na středník '';'' {{:standardy:csv:csv-gs-import-3.png?nolink|Nastavení středníku jako oddělovače pro import v Google Sheets}} * Po doběhnutí importu máme data v Google Sheets {{:standardy:csv:csv-gs-import-4.png?nolink|Data v Google Sheets}} * Pak můžeme data stáhnout jako validní CSV soubor {{:standardy:csv:csv-gs-import-5.png?nolink|Stažení CSV souboru z Google Sheets}} ==== Konverze z Microsoft Excel ==== 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ě [[standardy:csv:chybné-kódování|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 [[https://drive.google.com|Google Drive (Disk Google)]] nahrajeme XLS(X) soubor a otevřeme ho pomocí Google Sheets * Stáhneme data do CSV souboru {{:standardy:csv:csv-gs-import-5.png?nolink|Stažení CSV souboru z Google Sheets}}