Tabel CSV (.csv)
RFC StandarComma-Separated Values (CSV) adalah format teks biasa yang digunakan secara luas untuk data tabel. Setiap baris mewakili satu catatan data dan kolom dipisahkan oleh karakter pemisah.
Konversi XLSX ke CSV
Konverter XLSX ke CSV gratis yang berjalan di peramban. Konversikan berkas secara instan di perangkat Anda.
Kompres CSV Secara Daring
Privat - file tidak pernah meninggalkan perangkat Anda
Pemeriksaan & Metadata
Sistem operasi dan penganalisis file mengenali file CSV dengan memeriksa urutan byte biner di bagian awal:
Tanda Tangan Header per Byte (Byte Penanda)
Sistem operasi dan penganalisis file mengenali file CSV dengan memeriksa urutan byte biner di bagian awal:
TANDA TANGAN HEX (OFFSET 0):
Tidak memiliki tanda tangan tetapREPRESENTASI ASCII: Byte teks; pengodean bervariasi (sering kali UTF-8)
Standardisasi: RFC 4180 / IETF
Spesifikasi Teknis
| Arsitektur Kontainer | File teks datar dengan delimiter yang merepresentasikan baris dan kolom tabel |
| Kompresi | Gzip / Deflate mencapai kompresi 85%-95% pada data tabel yang berulang |
| Urutan Byte | Aliran teks UTF-8 (opsional UTF-8 BOM EF BB BF digunakan oleh Excel) |
| Ruang Warna | Tidak berlaku |
| Saluran & Struktur | Baris dipisahkan dengan CRLF dan kolom dipisahkan dengan koma |
| Dimensi Maksimum | Tanpa batas; dapat dialirkan hingga ukuran gigabita tanpa memuat seluruh file ke dalam memori |
| Transparansi | Tidak berlaku |
| Streaming & Progresif | Pemrosesan aliran baris demi baris bawaan didukung oleh semua alur data |
Perbandingan Teknis CSV dengan Pesaing
| Atribut Teknis | CSV (Saat Ini) | Excel (XLSX) | Parquet | JSON |
|---|---|---|---|---|
| Jenis File | Tabel datar teks biasa | Lembar kerja XML terkompresi | Penyimpanan kolom biner | Teks hierarkis |
| Beberapa Lembar | Tidak (hanya satu tabel datar) | Ya (beberapa buku kerja dan lembar) | Penyimpanan berbasis partisi | Array dan objek bertingkat |
| Jenis Data | Teks mentah tanpa tipe | Sel bertipe, rumus, pemformatan | Tipe kolom biner ketat | Tipe primitif (string, angka, boolean) |
| Analitik Big Data | Lambat (setiap baris harus dibaca secara berurutan) | Tidak cocok untuk data besar | Sangat cepat (pemilihan kolom & penerapan predikat lebih awal) | Sedang |
Pola Kerusakan Umum dan Panduan Pemulihan Hex
Kolom bergeser ke kanan atau jumlah baris tidak sesuai.
Penyebab Utama: Bidang teks yang berisi koma tanpa karakter escape dan tanpa tanda kutip di sekelilingnya.
Pemulihan: RFC 4180 mengharuskan bidang yang berisi koma dibungkus dengan tanda kutip ganda: "Smith, John".
Karakter beraksen muncul sebagai simbol aneh (mojibake seperti é alih-alih é) di Excel.
Penyebab Utama: Excel membuka CSV UTF-8 dengan asumsi pengodean karakter Windows ANSI/CP1252 lama.
Pemulihan: Tambahkan Byte Order Mark (BOM) UTF-8 3-byte (0xEF 0xBB 0xBF) di awal file.
Analisis Keamanan & Vektor Serangan Parser
File CSV dapat langsung dibuka di perangkat lunak lembar kerja seperti Excel dan Google Sheets, sehingga pengguna rentan terhadap serangan injeksi rumus (injeksi CSV).
Vektor Serangan yang Diketahui
- Injeksi rumus: sel yang diawali dengan '=', '+', '-', atau '@' menjalankan makro lembar kerja atau perintah DDE (misalnya '=cmd|' /C calc'!A0').
- Eksfiltrasi data melalui rumus HYPERLINK() yang mengirimkan data sel sensitif ke server penyerang jarak jauh saat diklik.
Praktik Terbaik Defensif: Saat mengekspor data pengguna ke CSV, tambahkan tanda kutip tunggal (') atau tab ke sel apa pun yang diawali dengan '=', '+', '-', atau '@' untuk memaksa tampilan teks biasa di Excel.
Asal-Usul & Tonggak Sejarah
Keunggulan & Kelebihan Utama
- Sangat sederhana: dapat dibaca di editor teks apa pun dan diimpor ke semua basis data serta lembar kerja.
- Pemrosesan aliran baris demi baris yang sangat cepat tanpa membangun DOM lengkap di memori.
- Overhead minimal: tanpa sintaks tag yang panjang atau definisi skema.
Keterbatasan Teknis & Kekurangan
- Tidak ada tipe data standar: angka, tanggal, boolean, dan teks semuanya disimpan sebagai string mentah.
- Tidak ada dukungan untuk beberapa lembar, pemformatan sel, rumus, atau metadata.
- Konflik pembatas (koma di dalam teks, koma desimal di wilayah Eropa) sering menyebabkan kesalahan penguraian.
Fakta Teknis Menarik
- Di banyak negara Eropa yang menggunakan koma sebagai tanda desimal, titik koma (;) digunakan sebagai pemisah CSV pengganti koma.
- Microsoft Excel secara historis memerlukan BOM UTF-8 (0xEF 0xBB 0xBF) agar dapat menampilkan karakter beraksen non-ASCII dengan benar.
- Layanan Kesehatan Nasional Inggris (NHS) terkenal kehilangan hampir 16.000 catatan pelacakan kontak COVID-19 pada tahun 2020 karena data diimpor ke lembar sebar Excel versi lama yang membatasi jumlah baris hingga 65.536.
Pertanyaan Teknis yang Sering Diajukan
Apa itu RFC 4180?
RFC 4180 adalah standar IETF resmi untuk CSV. Standar ini mewajibkan bidang yang berisi koma, pemisah baris, atau tanda kutip ganda diapit dengan tanda kutip ganda, dan tanda kutip di dalam bidang digandakan untuk meng-escape-nya ("").
Mengapa file CSV terbuka dengan karakter rusak di Excel?
Versi lama Microsoft Excel secara bawaan menggunakan code page Windows lokal (seperti Windows-1252) alih-alih UTF-8 saat membuka file CSV secara langsung. Menambahkan BOM (Byte Order Mark) UTF-8 di awal file memaksa Excel mendekode UTF-8 dengan benar.
Apa itu Injeksi CSV (Injeksi Rumus)?
Injeksi CSV terjadi saat input pengguna yang tidak tepercaya dan diawali pemicu rumus ('=', '+', '-', '@') diekspor ke file lembar kerja. Saat dibuka di perangkat lunak seperti Excel, lembar kerja otomatis menjalankan rumus atau perintah pertukaran data dinamis (DDE), yang dapat menjalankan perintah sistem atau mengirim data ke luar sistem.
Pasangan Konversi CSV Terkait
Mengonversi Lembar Excel ke Tabel CSV mengekstrak data tabular mentah ke dalam format teks yang banyak digunakan dan kompatibel dengan beragam perangkat lunak.
Mengonversi file CSV sederhana berbasis teks menjadi spreadsheet XLSX yang kaya fitur memungkinkan pemformatan data tingkat lanjut, penggunaan rumus, dan pembuatan beberapa lembar.
Mengonversi file teks datar menjadi basis data relasional terstruktur memungkinkan Anda menjalankan kueri cepat dan mengelola hubungan data yang kompleks.
Ubah skrip dump basis data relasional menjadi lembar kerja tabular datar untuk analisis data dan pelaporan sederhana.
Mengonversi kumpulan data HDF5 hierarkis ke berkas CSV telemetri datar mengubah catatan sains multidimensi yang kompleks menjadi baris dan kolom sederhana untuk analisis spreadsheet.
Mengonversi kisi ilmiah NetCDF multidimensi menjadi berkas CSV telemetri datar membuat data iklim dan lautan yang kompleks dapat dibaca dalam perangkat lunak spreadsheet dasar.
Mengonversi berkas vCard ke CSV Kontak mengubah kartu kontak hierarkis menjadi baris lembar kerja datar agar mudah diimpor ke basis data.