Formátování kódu / Návody

CSV nebo TSV: oddělovače, uvozovky a tabulková překvapení

CSV a TSV uloží podobné tabulky, ale při změně oddělovače je třeba zpracovat citovaná pole. Slepé nahrazení znaků může poškodit řádky.

Oddělovač patří k formátu

CSV obvykle odděluje pole čárkami, TSV tabulátory. Rozdíl začne vadit, když hodnota sama obsahuje čárku, tabulátor, uvozovku nebo konec řádku. RFC 4180 popisuje běžnou podobu CSV: pole s čárkou může být ve dvojitých uvozovkách a uvozovka uvnitř se zdvojí. TSV nemá stejné chování v každém programu, takže záleží na požadavcích příjemce. Nástroje MultiVerto nejprve rozpoznají buňky a poté zapíší nový oddělovač; nenahrazují bez rozmyslu interpunkci v surovém textu. Všechny řádky musí mít stejný počet buněk. Viditelnou mezeru si nepleťte s tabulátorem.

Sledujte citované pole

Vyzkoušejte dva řádky: položka,poznamka a potom pero,"červené, modré". Čárka v poznámce je obsah, nikoli třetí sloupec. Po převodu CSV na TSV odděluje tabulátor název od poznámky a pero od textu červené, modré; vnitřní čárka zůstane běžným znakem. Zapisovač může vnější uvozovky vynechat, protože čárka v TSV neodděluje buňky. Kdyby pole obsahovalo tabulátor nebo nový řádek, výstup by je musel chránit. Výsledek otevřete v editoru, který zobrazuje tabulátory; na webu mohou vypadat jako mezery.

Analýza zachová čárku v poli a změní pouze oddělovač.
  1. CSV: pero,"červené, modré"
  2. dvě buňky: pero | červené, modré
  3. TSV: pero [tab] červené, modré

Nejdřív zjistěte cílový program

CSV zvolte, když partner výslovně požaduje čárky a známá pravidla citování. TSV se může hodit při mnoha čárkách uvnitř dat, ale vložené tabulátory zůstávají citlivé. Pokud cíl potřebuje strukturované záznamy, převod CSV na JSON pomůže prohlédnout hodnoty s názvy sloupců. Datové typy se však nezachovají automaticky; mnoho importů čte buňky jako text. Tabulkový program může změnit úvodní nuly, dlouhé identifikátory nebo řetězce podobné datům. Samotná změna oddělovače tomu nezabrání. Prověřte nastavení importu a srovnejte vzorek s originálem.

Pozor na vzorce v cizích buňkách

CSV i TSV jsou data, ale tabulkový program může buňku začínající některými znaky vyhodnotit jako vzorec. Export hodnot od dalších lidí je proto samostatnou bezpečnostní otázkou. Tento převodník mění oddělovače a uvozovky; neočišťuje buňky pro tabulkový program a nečiní stažený soubor bezpečným. Jestliže tabulka obsahuje cizí vstupy, použijte ochrany cílového importu a pravidla exportu své aplikace. Výměna čárky za tabulátor neodstraní nebezpečný znak na začátku buňky. U citlivého souboru ověřte, jaký program ho otevře a zda zachová doslovný text všech hodnot.

Kontrolujte zpětný převod

Původní soubor uchovejte. Reprezentativní vzorek převeďte do TSV a zpět do CSV; porovnejte rozpoznané buňky, nikoli nutně shodné bajty. Neškodné uvozovky či konce řádků se mohou lišit. Prověřte hlavičky, počet řádků, prázdné buňky, vložené oddělovače a zalomení. Při následném převodu na JSON se podívejte, který řádek se stal klíči a zda hodnoty vypadající jako čísla zůstaly řetězci. Identifikátor s úvodní nulou není číslo určené k zaokrouhlení. Začněte ukázkou níže a tytéž obtížné řádky vyzkoušejte v cílovém programu před zpracováním celé tabulky.

Vedle oddělovače si dohodněte také kódování znaků. Čte-li program jiné kódování, než jaké vytvořil zapisovač, diakritika se může poškodit, i když sloupce zůstávají správné. Při importu prověřte, zda příjemce očekává hlavičku a jak rozlišuje prázdnou buňku od chybějícího sloupce. Převod mezi CSV a TSV tato pravidla sám neurčí. Malý testovací soubor s diakritikou, prázdnou hodnotou a citovanou čárkou ukáže víc problémů než zkouška jen s jednoduchými čísly.

Vyzkoušet převodník

Převeďte CSV s čárkou v uvozovkách na TSV a zkontrolujte buňky.

Změní tabulku oddělenou čárkami na text oddělený tabulátory.

Otevřít celý převodník

Další návody

Návody ke konverzím

Prohlédnout návody