standardy:csv:chybný-oddělovač

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.


Předchozí verze
Následující verze
standardy:csv:chybný-oddělovač [2017/09/04 14:00] – [Konverze pomocí Google Sheets pro menší soubory] Jakub Klímek
Řádek 1: Řádek 1:
 +====== 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 Google Drive 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}}
  
  • standardy/csv/chybný-oddělovač.txt
  • Poslední úprava: 2020/06/03 09:37
  • autor: 127.0.0.1