CSV-taulukko (.csv)
RFC StandardiComma-Separated Values (CSV) on yleisesti käytetty pelkkä tekstimuoto taulukkotiedolle. Jokainen rivi vastaa tietuetta, ja kentät erotetaan erotinmerkeillä.
Muunna tiedostot muodosta XLSX muotoon CSV
Ilmainen selaimessa toimiva muunnin, jolla voit muuntaa tiedostoja muodosta XLSX muotoon CSV. Muunna tiedostot hetkessä laitteellasi.
Pakkaa CSV verkossa
Yksityisesti - tiedostot eivät koskaan poistu laitteeltasi
Tarkastele tiedostoa ja sen metatietoja
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat CSV-tiedostot tarkistamalla tiedoston alun binäärisarjan:
Otsaketunniste tavutasolla (tunnistetavut)
Käyttöjärjestelmät ja tiedostoanalyysaattorit tunnistavat CSV-tiedostot tarkistamalla tiedoston alun binäärisarjan:
HEKSADEKSIMAALINEN TUNNISTE (SIJAINTI 0):
Ei kiinteää tunnistettaASCII-ESITYSTAPA: Tekstitavuja; merkistökoodaus vaihtelee (usein UTF-8)
Standardointi: RFC 4180 / IETF
Tekniset tiedot
| Säiliöarkkitehtuuri | Erotinmerkeillä eroteltu tasainen tekstitiedosto, joka esittää taulukkomuotoisia tietorivejä ja -sarakkeita |
| Pakkaus | Gzip- ja Deflate-pakkauksella voidaan pienentää toistuvan tekstin kokoa; tulosteen koko riippuu datasta ja asetuksista. |
| Tavujärjestys (Endianness) | UTF-8-tekstivirta (valinnainen UTF-8 BOM EF BB BF, jota Excel käyttää) |
| Väriavaruudet | Ei sovellettavissa |
| Kanavat ja rakenne | Rivitietueet on erotettu CRLF:llä ja sarakkeet pilkuilla |
| Suurimmat mitat | Rajoittamaton; voidaan käsitellä suoratoistona gigatavujen kokoon asti ilman koko tiedoston lataamista muistiin |
| Läpinäkyvyys | Ei sovellettavissa |
| Suoratoisto ja progressiivinen lataus | Kaikki tietoputket tukevat alkuperäistä rivi riviltä tapahtuvaa suoratoistokäsittelyä |
Tekninen vertailumatriisi: CSV vs. kilpailijat
| Tekninen attribuutti | CSV (Nykyinen) | Excel (XLSX) | Parquet | JSON |
|---|---|---|---|---|
| Tiedostotyyppi | Pelkkä tekstipohjainen litteä taulukko | Pakattu XML-taulukkolaskenta | Binäärinen sarakepohjainen tallennus | Hierarkkinen teksti |
| Useita laskentataulukoita | Ei (vain yksi litteä taulukko) | Kyllä (useita työkirjoja ja taulukoita) | Osiointipohjainen tallennus | Sisäkkäiset taulukot ja oliot |
| Tietotyypit | Tyypittämätön raakateksti | Tyypitetyt solut, kaavat, muotoilu | Tiukat binääriset saraketyypit | Perustyypit (merkkijono, numero, totuusarvo) |
| Big Data -analytiikka | Hidas (vaatii jokaisen rivin lukemisen lineaarisesti) | Ei sovellu suurille tietoaineistoille | Erittäin nopea (sarakkeiden karsinta ja ehtojen siirto alaspäin) | Kohtalainen |
Yleiset vioittumistavat ja heksadesimaalinen palautusopas
Sarakkeet siirtyvät oikealle tai rivimäärät eivät täsmää.
Perussyy: Tekstikenttä sisältää suojaamattoman pilkun ilman ympäröiviä lainausmerkkejä.
Korjaus: RFC 4180 vaatii, että pilkkuja sisältävät kentät kääritään lainausmerkkeihin: "Smith, John".
Erikoismerkit näkyvät oudoina symboleina (kuten é eikä é) Excelissä.
Perussyy: Excel avasi UTF-8-muotoisen CSV-tiedoston olettaen perinteisen Windows ANSI/CP1252 -merkistökoodauksen.
Korjaus: Lisää 3-tavuinen UTF-8 Byte Order Mark (0xEF 0xBB 0xBF) tiedoston alkuun.
Tietoturva-analyysi ja tiedostojäsentimien hyökkäysvektorit
CSV-tiedostot avautuvat suoraan taulukkolaskentaohjelmissa, kuten Excelissä ja Google Sheetsissä, mikä altistaa käyttäjät kaavainjektiohyökkäyksille (CSV Injection).
Tunnetut hyökkäysvektorit
- Kaavainjektio: Solut, jotka alkavat merkeillä '=', '+', '-' tai '@', voivat suorittaa taulukkolaskentamakroja tai DDE-komentoja (esim. '=cmd|' /C calc'!A0').
- Tietoja voidaan vuotaa HYPERLINK()-kaavoilla, jotka lähettävät arkaluonteisia solutietoja etähyökkääjän palvelimille, kun kaavaa napsautetaan.
Tietoturvan parhaat käytännöt: Kun viet käyttäjätietoja CSV-muotoon, lisää heittomerkki (') tai sarkain ennen jokaista solua, joka alkaa merkillä '=', '+', '-' tai '@', jotta Excel pakottaa ne pelkäksi tekstiksi.
Historia ja virstanpylväät
Tärkeimmät edut
- Äärimmäinen yksinkertaisuus: luettavissa missä tahansa tekstieditorissa ja tuotavissa jokaiseen tietokantaan ja taulukkolaskentaohjelmaan.
- Erittäin nopea rivi riviltä tapahtuva suoratoisto ilman tarvetta rakentaa täyttä muistiin ladattavaa DOM-puuta.
- Minimaalinen lisäkuorma: ei monimutkaista tunnistesynteksiä tai skeemamäärityksiä.
Tekniset rajoitukset
- Ei vakioituja tietotyyppejä: numerot, päivämäärät, totuusarvot ja teksti tallennetaan kaikki raakamuotoisina merkkijonoina.
- Ei tukea useille laskentataulukoille, solujen muotoilulle, kaavoille tai metatiedoille.
- Erotinristiriidat (pilkut tekstin sisällä, desimaalipilkut eurooppalaisilla alueasetuksilla) aiheuttavat usein jäsennysvirheitä.
Mielenkiintoisia teknisiä faktoja
- Monissa Euroopan maissa, joissa pilkkua käytetään desimaalierottimena, käytetään CSV-erottimena pilkun sijasta puolipistettä (;).
- Microsoft Excel vaati historiallisesti UTF-8 BOM -merkkijonon (0xEF 0xBB 0xBF) näyttääkseen ei-ASCII-merkit oikein.
- Ison-Britannian terveydenhuoltojärjestelmä NHS menetti kuuluisasti lähes 16 000 COVID-19-jäljitystietuetta vuonna 2020, koska data tuotiin vanhentuneeseen Excel-tiedostomuotoon, jonka datarajoitus oli 65 536 riviä.
Usein kysytyt tekniset kysymykset
Mikä on RFC 4180?
RFC 4180 on IETF:n virallinen CSV-standardi. Se määrää, että pilkkuja, rivinvaihtoja tai lainausmerkkejä sisältävät kentät on ympäröitävä lainausmerkeillä ja sisäiset lainausmerkit on suojattava kahdentamalla ne ("").
Miksi CSV-tiedostot avautuvat viallisilla merkeillä Excelissä?
Microsoft Excelin vanhemmat versiot käyttävät oletusarvoisesti paikallista Windows-koodisivua (kuten Windows-1252) UTF-8:n sijaan, kun CSV-tiedostoja avataan suoraan. UTF-8 BOM (Byte Order Mark) -merkinnän lisääminen tiedoston alkuun pakottaa Excelin purkamaan UTF-8-koodauksen oikein.
Mikä on CSV-injektio (kaavainjektio)?
CSV-injektio tapahtuu, kun epäluotettava käyttäjän syöte, joka sisältää kaavan laukaisevia etuliitteitä ('=', '+', '-', '@'), viedään taulukkolaskentatiedostoon. Kun tiedosto avataan ohjelmassa, kuten Excelissä, taulukkolaskenta suorittaa kaavan tai dynaamisen tiedonvaihdon (DDE) komennon automaattisesti, mikä voi mahdollisesti suorittaa järjestelmäkomentoja tai vuotaa tietoja.
Aiheeseen liittyvät CSV-muunnosparit
Excel-taulukon muuntaminen CSV-muotoon poimii raakamuotoiset taulukkotiedot yleiskäyttöiseen tekstimuotoon ohjelmistojen yhteensopivuuden maksimoimiseksi.
Yksinkertaisten tekstipohjaisten CSV-tiedostojen muuntaminen monipuolisiksi XLSX-taulukoiksi mahdollistaa edistyneen tietojen muotoilun, kaavat ja useat laskentataulukot.
Yksinkertaisten tekstitiedostojen muuntaminen jäsennetyiksi relaatiotietokannoiksi mahdollistaa nopeiden kyselyjen suorittamisen ja monimutkaisten tietorakenteiden hallinnan.
Muunna relaatiotietokannan varmuuskopiointiskriptit yhtenäisiksi taulukkomuotoisiksi laskentataulukoiksi yksinkertaista datan analysointia ja raportointia varten.
Hierarkkisten HDF5-tietojoukkojen muuntaminen litteiksi telemetria-CSV-tiedostoiksi muuttaa monimutkaiset moniulotteiset tieteelliset tietueet yksinkertaisiksi riveiksi ja sarakkeiksi taulukkolaskenta-analyysiä varten.
Moniulotteisten NetCDF-tieteellisten ruudukoiden muuntaminen litteiksi telemetria-CSV-tiedostoiksi tekee monimutkaisesta sää- ja valtameridatasta luettavaa perustaulukkolaskentaohjelmistoissa.
vCard-tiedostojen muuntaminen CSV-yhteystiedoiksi muuttaa hierarkkiset yhteystietokortit taulukon riveiksi, joista tiedot on helppo tuoda tietokantaan.