Névjegyek CSV-formátumban (.csv)
RFC SzabványA Comma-Separated Values (CSV) széles körben használt, egyszerű szöveges formátum táblázatos adatokhoz; minden sora egy adatrekordot képvisel, a mezőket pedig elválasztó karakterek választják el.
XLSX konvertálása erre: CSV
Ingyenes, böngészőben használható XLSX-konverter CSV formátumba. A fájlokat azonnal konvertálhatja az eszközén.
CSV tömörítése online
Privát - a fájlok soha nem hagyják el az eszközét
Vizsgálat és metaadatok
Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) CSV fájlokat:
Bájtszintű fejlécaláírás (fájlazonosító bájtok)
Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) CSV fájlokat:
HEX ALÁÍRÁS (ELTOLÁS 0):
Nincs rögzített aláírásASCII ÁBRÁZOLÁS: Szöveges bájtok; a kódolás változhat
Szabványosítás: RFC 4180 / IETF
Műszaki specifikációk
| Konténer architektúra | Határolójelekkel elválasztott, sima szöveges fájl, amely táblázatos adatsorokat és oszlopokat ábrázol |
| Tömörítés | A Gzip és a Deflate tömörítheti az ismétlődő szöveget; az eredményül kapott méret az adatoktól és a beállításoktól függ. |
| Bájtsorrend | UTF-8 szöveges adatfolyam (az Excel által használt opcionális UTF-8 BOM EF BB BF) |
| Színterek | Nem alkalmazható |
| Csatornák és struktúra | CRLF-del elválasztott sorrekordok, vesszőkkel elválasztott oszlopokkal |
| Max. méretek | Korlátlan; gigabájtos méretig adatfolyamként feldolgozható anélkül, hogy az egész fájlt be kellene tölteni a memóriába |
| Átlátszóság | Nem alkalmazható |
| Streaming és progresszív | A natív soronkénti adatfolyam-feldolgozást minden adatfolyamat támogatja |
Műszaki összehasonlító mátrix: CSV vs. versenytársak
| Technikai attribútum | CSV (Jelenlegi) | Excel (XLSX) | Parquet | JSON |
|---|---|---|---|---|
| Fájltípus | Sima szöveges, lapos tábla | Tömörített XML táblázat | Bináris oszlopalapú tárolás | Hierarchikus szöveg |
| Több munkalap | Nincs (csak egyetlen lapos tábla) | Igen (több munkafüzet és munkalap) | Partícióalapú tárolás | Beágyazott tömbök és objektumok |
| Adattípusok | Típus nélküli nyers szöveg | Típusos cellák, képletek, formázás | Szigorú bináris oszloptípusok | Primitív típusok (szöveg, szám, logikai) |
| Nagy adatmennyiség elemzése | Lassú (minden sort lineárisan kell olvasni) | Nem alkalmas nagy adatokhoz | Ultragyors (oszlopok elhagyása és predikátumok leküldése) | Mérsékelt |
Gyakori sérülési módok és hexadecimális helyreállítási útmutató
Az oszlopok jobbra tolódnak, vagy nem egyezik a sorok száma.
Kiváltó ok: Egy idézőjelek nélküli szövegmező, amely egy nem escape-elt vesszőt tartalmaz.
Helyreállítás: Az RFC 4180 előírja, hogy a vesszőket tartalmazó mezőket kettős idézőjelek közé kell zárni: "Smith, John".
Az ékezetes karakterek furcsa szimbólumokként (mojibake, például é helyett é) jelennek meg az Excelben.
Kiváltó ok: Az Excel egy UTF-8 CSV-fájlt nyitott meg, a régi Windows ANSI/CP1252 karakterkódolást feltételezve.
Helyreállítás: Illessze be a 3 bájtos UTF-8 bájtsorrend-jelölőt (0xEF 0xBB 0xBF) a fájl elejére.
Biztonsági elemzés és elemző (parser) támadási vektorok
A CSV-fájlok közvetlenül megnyithatók az olyan táblázatkezelő szoftverekben, mint az Excel és a Google Sheets, így a felhasználók ki vannak téve a képletinjekciós (CSV-injekció) támadásoknak.
Ismert támadási vektorok
- Képletinjekció: Az '=', '+', '-' vagy '@' karakterrel kezdődő cellák táblázatkezelő makrókat vagy DDE-parancsokat hajtanak végre (pl. '=cmd|' /C calc'!A0').
- Adatszivárgás HYPERLINK() képleteken keresztül, amelyek kattintáskor érzékeny cellaadatokat küldenek a távoli támadó szervereinek.
Ajánlott védekezési módszerek: Amikor felhasználói adatokat exportál CSV-be, illesszen be egy egyszeres idézőjelet (') vagy tabulátort minden '=', '+', '-' vagy '@' jellel kezdődő cella elé, hogy az Excelben sima szöveges megjelenítést kényszerítsen ki.
Történeti háttér és mérföldkövek
Főbb előnyök
- Maximális egyszerűség: bármilyen szövegszerkesztőben olvasható, és minden adatbázisba és táblázatkezelőbe importálható.
- Rendkívül gyors soronkénti adatfolyam-feldolgozás teljes memóriabeli DOM építése nélkül.
- Minimális többletterhelés: nincsenek bőbeszédű címkeszintaxisok vagy sémameghatározások.
Technikai korlátok és hátrányok
- Nincsenek szabványos adattípusok: a számok, dátumok, logikai értékek és a szöveg nyers karakterláncként tárolódnak.
- Nincs támogatás több munkalaphoz, cellaformázáshoz, képletekhez vagy metaadatokhoz.
- A határolójelekkel kapcsolatos ütközések (szövegen belüli vesszők, tizedesvesszők az európai területi beállításokban) gyakori elemzési hibákat okoznak.
Érdekes technikai tudnivalók
- Számos európai országban, ahol a vesszőt tizedesjelként használják, a CSV-elválasztóként a vessző helyett pontosvesszőt (;) használnak.
- A Microsoft Excel történelmileg egy UTF-8 BOM-ot (0xEF 0xBB 0xBF) igényelt a nem ASCII ékezetes karakterek helyes megjelenítéséhez.
- Az Egyesült Királyság Nemzeti Egészségügyi Szolgálata (NHS) híres módon csaknem 16 000 COVID-19 kontaktkövetési rekordot veszített el 2020-ban, mert az adatokat egy elavult Excel táblázatkezelő formátumba importálták, amely a sorok határát 65 536-ban korlátozta.
Gyakran Ismételt Műszaki Kérdések
Mi az az RFC 4180?
Az RFC 4180 a CSV hivatalos IETF-szabványa. Előírja, hogy a vesszőt, sortörést vagy kettős idézőjelet tartalmazó mezőket kettős idézőjelek közé kell tenni, a mezőn belüli idézőjeleket pedig meg kell kettőzni ("").
Miért nyílnak meg hibás karakterekkel a CSV-fájlok az Excelben?
A Microsoft Excel régebbi verziói alapértelmezés szerint a helyi Windows kódlapot (például Windows-1252) használják az UTF-8 helyett, amikor közvetlenül nyitnak meg CSV-fájlokat. Ha UTF-8 BOM-ot (bájtsorrend-jelölőt) ad hozzá a fájl elejére, az arra kényszeríti az Excelt, hogy helyesen dekódolja az UTF-8-at.
Mi az a CSV-injekció (képletinjekció)?
A CSV-injekció akkor fordul elő, amikor nem megbízható, képletindítókat ('=', '+', '-', '@') tartalmazó felhasználói bemenetet exportálnak egy táblázatkezelő fájlba. Olyan szoftverekben megnyitva, mint az Excel, a táblázatkezelő automatikusan végrehajtja a képletet vagy a dinamikus adatcsere (DDE) parancsot, ami potenciálisan rendszerparancsokat futtathat vagy adatokat szivárogtathat ki.
Kapcsolódó CSV konverziós párok
Az Excel-táblázat CSV-táblázattá alakításával a nyers táblázatos adatok széles körben használt szöveges formátumba kerülnek, amelyet számos szoftver támogat.
Az egyszerű szöveges CSV-fájlok funkciógazdag XLSX-munkafüzetekké alakítása lehetővé teszi a fejlett adatformázást, a képletek használatát és a több munkalap kezelését.
A sima szövegfájlok strukturált relációs adatbázissá alakítása lehetővé teszi a gyors lekérdezéseket és az összetett adatkapcsolatok kezelését.
Relációs adatbázisok biztonsági mentési szkriptjeinek átalakítása egyszerű táblázatos fájlokká az adatelemzés és a jelentéskészítés megkönnyítésére.
A hierarchikus HDF5-adatkészletek egyszerű telemetriai CSV-fájlokká alakítása a komplex, többdimenziós tudományos adatokat sorokká és oszlopokká rendezi, hogy táblázatkezelőben elemezhetők legyenek.
A többdimenziós NetCDF tudományos rácsok egyszerű telemetriai CSV-fájlokká alakítása olvashatóvá teszi az összetett éghajlati és óceánográfiai adatokat az alapvető táblázatkezelő szoftverekben.
A vCard fájlok CSV-fájlokká történő konvertálása a hierarchikus névjegykártyákat lapos táblázatsorokká alakítja az egyszerű adatbázis-importálás érdekében.