Přeskočit na obsah

Převod souboru ECSV do CSV

Převeďte tabulky Astropy ECSV na široce kompatibilní CSV a zkontrolujte přitom ztracená metadata a datové typy.

Vytvořte soubory CSV online

Soubory ECSV zatím číst neumíme, takže tenhle převod nenabízíme. Pokud dokážete svou práci uložit do některého z těchto formátů nebo dalších, CSV z něj vyrobíme:

Chcete převádět ECSV na CSV?

Dejte nám vědět. Podle zájmu vybíráme, které převody přidáme jako další.

Jak převést soubor ecsv do formátu csv

Vědecký software často vytváří ECSV, zatímco tabulkové, databázové a reportingové aplikace běžně vyžadují obyčejné CSV. Převod usnadní sdílení a úpravy tabulky, odstraní však metadata, která CSV nedokáže ukládat.

Co je ECSV

ECSV znamená Enhanced Character-Separated Values. Jedná se o textový tabulkový formát vyvinutý pro ekosystém Astropy, který se používá především v astronomii a dalších pracovních postupech s vědeckými daty.

Soubor ECSV kombinuje hlavičku metadat ve stylu YAML s daty tabulky oddělenými oddělovači. Hlavička může definovat názvy sloupců, datové typy, jednotky, popisy, způsob zpracování null hodnot a další metadata tabulky Astropy. Typický soubor začíná řetězcem # %ECSV 1.0. ECSV může používat čárky, tabulátory nebo jiný oddělovač, takže přípona souboru sama o sobě neurčuje použitý oddělovač.

Astropy zapisuje tento formát z objektů astropy.table.Table pomocí format='ascii.ecsv'. Microsoft Excel a většina běžných tabulkových aplikací hlavičku ECSV nativně neinterpretují jako tabulku.

Co je CSV

CSV ukládá jeden záznam na řádek a jednotlivá pole odděluje čárkami. Pole obsahující čárku, uvozovku nebo zalomení řádku se obvykle uzavírá do dvojitých uvozovek a vložená uvozovka se zapisuje jako dvě uvozovky.

CSV podporují LibreOffice Calc, Microsoft Excel, importéry databází, programovací knihovny a mnoho webových služeb. Je jednodušší a často menší než ECSV, běžně však nezachovává jednotky, popisy, datové typy specifické pro Astropy, masky, původ dat ani vlastní metadata tabulky. CSV má běžné konvence, nikoli jednu zcela jednotnou implementaci, takže aplikace se mohou lišit v kódování, koncích řádků, oddělovačích a reprezentaci chybějících hodnot.

Převod pomocí Astropy

Astropy je nejbezpečnější možnost, protože načítá schéma ECSV, místo aby s hlavičkou metadat zacházelo jako s běžnými daty.

Nainstalujte Astropy:

python -m pip install astropy

Spusťte tento příkaz z adresáře obsahujícího zdrojový soubor:

python -c "from astropy.table import Table; Table.read('input.ecsv', format='ascii.ecsv').write('output.csv', format='ascii.csv', overwrite=True)"

Tím se načte input.ecsv a zapíše čárkami oddělený soubor output.csv. Volba overwrite=True nahradí existující výstupní soubor; pokud chcete zabránit náhodnému nahrazení, vynechte ji.

Pro opakované převody uložte následující obsah jako convert_ecsv.py:

from astropy.table import Table

table = Table.read('input.ecsv', format='ascii.ecsv')
table.write('output.csv', format='ascii.csv', overwrite=True)

Spusťte jej pomocí:

python convert_ecsv.py

Pokud zdroj používá neobvyklou funkci ECSV nebo obsahuje maskované hodnoty, zkontrolujte výslednou tabulku a před zápisem upravte tabulku Astropy. Řádky s komentáři neodstraňujte ručně, pokud soubor nemá jednoduché a známé uspořádání; mohlo by dojít ke ztrátě definic sloupců nebo k nesprávnému zarovnání dat.

Použití desktopových a online nástrojů

K prohlížení vygenerovaného CSV použijte LibreOffice Calc nebo Microsoft Excel, nikoli k analýze původního ECSV. Výsledek otevřete přes File → Open, po zobrazení výzvy vyberte jako oddělovač čárku a zkontrolujte rozpoznané typy. Při opětovném ukládání zvolte CSV a potvrďte čárku jako oddělovač a UTF-8 jako kódování, pokud aplikace tyto možnosti nabízí. Nastavení tabulkového procesoru závislé na lokalizaci může jinak vytvořit výstup oddělený středníky nebo změnit desetinné hodnoty a hodnoty dat.

Neexistuje obecně podporovaný webový konvertor specifický pro ECSV, který by spolehlivě zachovával schémata Astropy. Pro převod v prohlížeči je praktickou online možností Google Colab: vytvořte notebook, spusťte !pip install astropy, nahrajte soubor ECSV a proveďte stejný kód Table.read(...).write(...). Důvěrná nebo regulovaná data nenahrávejte do Colab ani do konvertoru třetí strany. Obecné weby pro převod CSV, jako jsou Zamzar nebo Convertio, používejte pouze tehdy, pokud jejich aktuální seznam formátů výslovně přijímá ECSV; jinak mohou zkopírovat hlavičku YAML do výstupu nebo ji interpretovat jako data.

Kontrola převedeného souboru

Porovnejte počet sloupců a řádků ve vstupu a výstupu a poté zkontrolujte hlavičku, oddělovač, kódování znaků, reprezentaci chybějících hodnot a desetinný oddělovač. CSV otevírejte v programu podporujícím CSV, protože ruční rozdělování řádků poškodí pole obsahující čárky nebo zalomení řádků v uvozovkách.

Převod nedokáže přenést metadata ECSV do běžného souboru CSV. Původní ECSV si ponechte a pokud jsou pro vědeckou interpretaci potřebné, zaznamenejte jednotky, popisy, původ dat a datové typy samostatně.

Skalární numerické sloupce, textové sloupce a sloupce podobné datům se obvykle převedou přímo. Vícerozměrné sloupce, veličiny, maskované sloupce, komplexní hodnoty a vlastní objekty Astropy nemusí mít jednu přenositelnou reprezentaci v CSV. Tyto sloupce explicitně zploštěte nebo serializujte a před importem CSV do jiné aplikace ověřte výsledné hodnoty.

ECSV vs CSV: srovnání formátů

Jak si formáty ECSV a CSV stojí v nejdůležitějších vlastnostech pro tento převod.

Srovnání souborových formátů ECSV a CSV
Vlastnost .ECSV Enhanced Character Separated Values .CSV Comma-Separated Values
Otevřený standard Ano Ano
Komprese Bez komprese Bez komprese
Typická velikost souboru Malé Malé
Otevírá se ve webovém prohlížeči Ano, nativně Ano, nativně
Další úpravy Snadné Snadné
Podpora metadat Rozsáhlé Základní
Čitelný jako prostý text Ano Ano
Nejvhodnější pro Výměna dat Výměna dat
Zavedeno 2018 —
Vývojář Astronomical Data Center / Astropy community —
MIME typ text/csv text/csv

Informace o příponách a typech souborů poskytuje File-Extensions.org

Soubor už byl stažen

Tento soubor už byl stažen. Kvůli ochraně soukromí jsme ho hned po stažení smazali ze serveru, takže ho nejde stáhnout znovu. Pokud ho potřebujete ještě jednou, převeďte soubor znovu.