Ringkas: CSV terlihat seperti format data paling sederhana yang mungkin, dan justru karena itulah inkonsistensi kecil — koma yang tersasar dalam bidang teks tanpa tanda kutip, delimiter yang tidak cocok, BOM tersembunyi — membuat impor gagal atau diam-diam membuat kolom tidak sejajar. Padukan panduan ini dengan Encoding Converter, Duplicate Finder, Remove Extra Spaces, dan Character Counter.

Aturan sebenarnya CSV didefinisikan dalam RFC 4180, meskipun dalam praktiknya kebanyakan CSV nyata hanya mengikutinya secara longgar — yang justru merupakan sumber sebagian besar masalah impor.

Di mana impor CSV sebenarnya gagal

Masalah intinya: koma adalah baik delimiter kolom maupun karakter yang bisa secara sah muncul di dalam bidang teks (alamat, deskripsi produk dengan "Kecil, Sedang, Besar" di dalamnya). Jawaban RFC 4180 adalah pengutipan — bidang yang mengandung koma harus dibungkus dalam tanda kutip ganda, dan tanda kutip ganda literal di dalam bidang yang dikutip di-escape dengan menggandakannya (""). Perangkat lunak yang mengekspor CSV tanpa mengikuti aturan ini menghasilkan file di mana satu koma tanpa tanda kutip diam-diam menggeser setiap kolom berikutnya satu posisi.

Delimiter tidak selalu sama

Dipisahkan koma adalah asumsi default, tapi banyak file nyata malah menggunakan titik koma — sangat umum di wilayah yang menggunakan koma sebagai pemisah desimal untuk angka, yang membuat penggunaan ulang sebagai delimiter kolom menjadi ambigu. CSV yang terbuka sebagai satu kolom tak terpisah di spreadsheet sangat sering hanya menggunakan delimiter yang salah untuk asumsi alat itu, bukan benar-benar rusak.

Encoding dan BOM yang tak terlihat

Byte order mark (BOM) UTF-8 — tiga byte tak terlihat di awal file — ditambahkan oleh beberapa alat (terutama Excel saat ekspor) untuk menandai encoding, tapi tidak semua parser menghapusnya secara otomatis. Jika dibiarkan, ia bisa menempel secara tak terlihat pada nama header kolom pertama, sehingga pencarian kolom yang secara harfiah bernama name gagal karena header sebenarnya adalah name dengan karakter tak terlihat di depannya — bug yang benar-benar sulit dilihat dengan mata.

Alur kerja pembersihan sebelum impor

  1. Buka file mentah sebagai teks polos dulu (bukan di spreadsheet, yang menginterpretasikan otomatis dan bisa menyembunyikan struktur sebenarnya) untuk memeriksa delimiter dan penggunaan tanda kutip yang sebenarnya.
  2. Periksa byte awal untuk BOM jika pencarian nama kolom gagal secara misterius.
  3. Cari secara khusus koma tanpa tanda kutip di dalam apa yang seharusnya menjadi bidang teks tunggal — penyebab paling umum ketidaksejajaran kolom.
  4. Periksa baris baru di akhir atau baris kosong terakhir, yang oleh beberapa alat impor dihitung sebagai catatan terakhir yang rusak.
  5. Jalankan Duplicate Finder pada kolom kunci (seperti ID atau email) sebelum impor jika catatan duplikat akan menyebabkan masalah di kemudian hari.

Kesalahan umum yang harus dihindari

  • Berasumsi setiap CSV menggunakan koma — file yang dipisahkan titik koma umum dan terlihat identik sampai Anda mencoba memisah pada karakter yang salah.
  • Mengedit CSV di aplikasi spreadsheet, yang diam-diam memformat ulang tanggal, menghapus nol di depan, dan bisa mengkodekan ulang teks dengan cara yang tidak cocok dengan aslinya.
  • Tidak memeriksa BOM di depan ketika pencarian berbasis header gagal tanpa alasan yang terlihat.
  • Mengabaikan koma tanpa tanda kutip di dalam bidang teks bebas sampai impor menghasilkan kolom yang jelas bergeser.

Sebagian besar kegagalan impor CSV sebenarnya bukan tentang data itu sendiri — melainkan tentang asumsi parser (delimiter, encoding, penggunaan tanda kutip) yang tidak cocok dengan apa yang sebenarnya terdapat di dalam file.