Konverter Teks ke CSV Gratis

Konversi data teks tabular ke format CSV. Deteksi pemisah otomatis, penanganan tanda kutip, dan pratinjau sebelum unduhan.

Data Anda tidak pernah meninggalkan perangkat Anda

Tentang format CSV

CSV (Comma-Separated Values, nilai dipisahkan koma) adalah format teks sederhana untuk menyimpan data tabular. Setiap baris mewakili satu rekaman, dan nilai-nilai dipisahkan oleh koma. CSV didukung secara luas oleh aplikasi spreadsheet, basis data, dan alat analisis.

Mengapa mengonversi ke CSV?

Pertanyaan yang sering diajukan

Pemisah apa yang didukung alat ini?

Alat mendeteksi otomatis tab, spasi, koma, titik koma, dan garis vertikal. Anda juga dapat menetapkan pemisah kustom satu karakter.

Bagaimana menangani bidang yang berisi koma?

Aktifkan opsi «Beri tanda kutip pada bidang yang berisi koma» untuk membungkusnya dengan tanda kutip, agar sesuai dengan CSV.

Bisakah saya menyertakan header?

Ya, aktifkan opsi «Sertakan baris header» jika baris pertama Anda berisi nama kolom.

Sejarah singkat CSV, lebih tua dari spesifikasi yang mendefinisikannya

CSV adalah format yang digunakan semua orang dan tidak dimiliki siapa pun. Asal usulnya bersifat informal. Penggunaan terdokumentasi paling awal dari konvensi comma-separated berasal dari 1972, ketika IBM Fortran (level H extended) mendukung input/output list-directed di mana koma berfungsi sebagai pemisah antara nilai-nilai dalam satu baris. Sepanjang 1970-an dan 1980-an, setiap database, spreadsheet, paket statistik, dan aplikasi akuntansi yang perlu bertukar data dengan alat lain secara mandiri menemukan semacam varian dari «nilai-nilai yang dipisahkan oleh karakter tertentu pada baris yang dipisahkan oleh karakter tertentu lainnya.» Tidak ada spesifikasi. Tidak ada badan pengatur. Tidak ada implementasi kanonik. Hanya ada konsensus, dalam artian yang paling longgar mungkin.

Pada awal 2000-an, biaya dari kekacauan ini tidak bisa lagi diabaikan. IETF akhirnya menerima sebuah spesifikasi, RFC 4180, «Common Format and MIME Type for Comma-Separated Values (CSV) Files,» yang diterbitkan pada Oktober 2005 oleh Yakov Shafranovich. RFC 4180 singkat, hanya beberapa halaman, dan mengkodifikasi apa yang sudah disepakati oleh sebagian besar orang: koma sebagai pemisah field, tanda kutip ganda sebagai karakter penutup opsional untuk field yang berisi koma, tanda kutip, atau baris baru, tanda kutip ganda berlipat ("") sebagai cara untuk mengapit tanda kutip literal di dalam field yang diapit, CRLF sebagai terminator baris, dan text/csv sebagai tipe MIME yang didaftarkan ke IANA. Spesifikasi ini juga mendefinisikan parameter header opsional untuk tipe MIME agar pengirim dapat memberi tahu penerima apakah baris pertama adalah baris header.

RFC 4180 bersifat informasional, bukan standar ketat. Kepatuhannya bersifat sukarela. Namun ia memberi kita target, hal yang paling mendekati definisi «benar» yang dimiliki CSV. Dokumen berikutnya, W3C «Model for Tabular Data and Metadata on the Web» (CSVW, 2015), mencoba memperluas kisah metadata untuk CSV dengan melampirkan sidecar JSON yang menjelaskan apa setiap kolom dan cara menginterpretasinya. CSVW banyak dikutip dan jarang diterapkan.

«CSV» di lapangan tidak berarti apa yang dikatakan RFC 4180

Siapa pun yang pernah menerima CSV dari orang asing tahu bentuk masalahnya. Ketidaksepakatan terpecah ke beberapa sumbu:

Jebakan BOM

Ini layak mendapat bagiannya sendiri karena ini adalah sumber paling umum dari masalah CSV lintas platform. Microsoft Excel tidak akan mendeteksi secara otomatis CSV yang dikodekan UTF-8 kecuali file dimulai dengan byte order mark UTF-8: tiga byte EF BB BF, yang mengkodekan karakter Unicode U+FEFF. Tanpa BOM, Excel membuka file dalam halaman kode warisan dari lokal Windows pengguna (Windows-1252 di Barat, Shift_JIS di Jepang, GBK di Tiongkok daratan). Karakter non-ASCII apa pun (huruf beraksen, simbol mata uang, emoji, karakter CJK) akan rusak.

Solusinya adalah menambahkan BOM di awal. Biayanya adalah semua hal lain tersedak olehnya. Apple Numbers (hingga versi terbaru) menampilkan BOM sebagai karakter literal di sel pertama. Banyak alat command-line (awk, cut, sed yang lebih lama) memperlakukan BOM sebagai bagian dari field pertama, sehingga header yang seharusnya terbaca name terbaca name. Sebagian besar parser CSV JavaScript menghapusnya; banyak alur kerja modul csv Python yang lebih lama tidak (Anda harus membuka file dengan codec utf-8-sig). Karena alat online gratis tidak dapat mengetahui di mana pengguna akan membuka file, menghilangkan BOM dan mendokumentasikan bahwa pengguna Excel harus menggunakan Data → From Text/CSV (yang selalu membiarkan pengguna memilih UTF-8 secara eksplisit) adalah default yang masuk akal.

Excel mengirimkan setidaknya empat format «CSV»

Dialog «Save As» Excel menawarkan lebih dari satu varian CSV, dan perbedaannya penting:

Label yang ditampilkan kepada pengguna menyebutkan «CSV» dengan empat cara berbeda. Isi file sebenarnya berbeda secara material. Inilah realitas praktis tempat konverter ini beroperasi.

Mengapa mengonversi teks → CSV, khususnya

Sebagian besar «alat CSV» online berjalan dalam arah sebaliknya: ambil CSV, hasilkan sesuatu yang lain (JSON, tabel HTML, SQL INSERT, PDF yang dapat dicetak). Yang ini berjalan sebaliknya: ambil teks yang berantakan, hasilkan CSV yang bersih. Itulah kasus penggunaan untuk:

Excel akan menulis ulang data Anda, terkadang secara diam-diam

Beberapa jebakan CSV menggigit bahkan pengguna yang berhati-hati:

Di mana alat ini berada di antara alternatif modern CSV

CSV bertahan karena ia adalah teks dan manusia dapat membacanya. Untuk pertukaran data serius, beberapa format telah mengambil alih posisinya pada dimensi tertentu:

Untuk konverter online gratis yang ditujukan bagi pengembang dan pekerja kantor, CSV tetap menjadi format output yang tepat karena ia adalah lingua franca impor data di mana-mana. Alternatif modern ada; mereka belum menggantikan CSV di kotak masuk.

Pertanyaan lainnya

Haruskah saya menambahkan UTF-8 BOM ke output?

Jika file ditujukan untuk double-click di Excel Windows, ya; tanpa BOM, Excel membukanya dalam halaman kode warisan dan merusak teks non-ASCII. Jika ditujukan untuk hal lain (Apple Numbers, skrip command-line, formulir unggah web), hilangkan BOM. Jalur paling aman adalah menghilangkan BOM dan menginstruksikan pengguna Excel untuk mengimpor melalui Data → From Text/CSV, di mana mereka dapat memilih UTF-8 secara eksplisit.

CSV saya terbuka dengan satu sel per baris di Excel, apa yang salah?

Hampir selalu ketidakcocokan pemisah. Anda berada di lokal di mana Excel mengharapkan titik koma (sebagian besar Eropa daratan), tetapi file menggunakan koma, atau sebaliknya. Buka dengan Data → From Text/CSV alih-alih double-click; wizard itu memungkinkan Anda memilih pemisah secara eksplisit. Atau simpan file dari menu Save As Excel menggunakan varian yang sesuai dengan pemisah lokal Anda.

Apa perbedaan antara TSV dan CSV?

TSV menggunakan karakter tab sebagai pemisah alih-alih koma, dengan tipe MIME-nya sendiri text/tab-separated-values dan registrasi IANA. Keuntungan TSV adalah data dunia nyata jarang berisi tab literal, sehingga pengapitan hampir tidak pernah diperlukan; kerugiannya adalah tab tidak terlihat di editor teks dan perilaku copy-paste bervariasi. Mesin pengapitan CSV membuatnya aman untuk field yang berisi pemisah; TSV sebagian besar menghindari masalah tersebut sama sekali.

Apakah ada CSV linter yang bisa saya jalankan sebelum berbagi file?

Ya, untuk penggunaan command-line, csvclean milik csvkit melaporkan baris dengan jumlah kolom yang salah. CLI frictionless milik Frictionless Data memvalidasi terhadap skema opsional. Untuk pekerjaan berbasis browser, PapaParse melaporkan error penguraian baris demi baris. Validasi ketat terhadap RFC 4180 (akhir baris CRLF, escape kutip-ganda berlipat) jarang terjadi dalam praktik; sebagian besar parser menerima varian umum mana pun.

Alat terkait