Cara membersihkan file CSV yang berantakan
Untuk membersihkan ekspor CSV yang berantakan, perbaiki secara bertahap: karakternya dulu, lalu tata letaknya, kemudian arti setiap kolom. CSV adalah teks biasa, jadi sebagian besar masalah berupa karakter yang salah, baris atau pemisah yang berlebih, atau nilai yang dibaca program secara berbeda dari cara Anda membacanya. Perbaiki karakter lebih dulu. Spasi tersembunyi bisa membuat tanggal tidak dikenali sebagai tanggal, dan perbaikan berikutnya lalu gagal tanpa alasan yang jelas.
Pembersih CSVCSV penuh sel kosong dan duplikatPakai gratisKarakter yang tampak benar tetapi tidak
Spasi nyasar. Spasi di awal atau akhir sel, atau dua spasi di tengah nilai, membuat "Berlin " dan "Berlin" menjadi dua nilai berbeda bagi pencarian, filter, atau join.
Karakter tak terlihat. Beberapa karakter tidak memakan ruang di layar:
- Spasi tanpa pemisah (U+00A0) tampak seperti spasi biasa, tetapi merupakan karakter yang berbeda. Halaman web memakainya agar kata tetap bersama.
- Spasi lebar nol (U+200B) tidak memiliki lebar sama sekali.
- Byte order mark (U+FEFF) bisa berada di awal file, sebelum header pertama. Kolomnya tampak seperti "id", tetapi sebenarnya "id", sehingga pencarian untuk "id" gagal.
Hapus karakter tersembunyi menunjukkan apa yang ditemukannya sebelum mengubah apa pun.
Huruf rusak. "é" yang seharusnya "é" adalah masalah encoding yang disebut mojibake. File disimpan sebagai UTF-8, tempat é memakai dua byte, lalu dibaca sebagai Windows-1252, tempat dua byte itu menjadi dua huruf yang tidak berhubungan. Apostrof "’" menjadi "’" dengan cara yang sama. Solusinya adalah membaca file sebagai UTF-8, atau mengekspor ulang dari sumbernya dengan UTF-8 dipilih. Memperbaiki teks yang sudah tersimpan secara keliru itu rapuh, jadi simpan file asli dan kerjakan salinannya.
Tata letak: baris judul, baris kosong, dan duplikat
Laporan sering dimulai dengan judul, tanggal, dan baris kosong di atas header yang sebenarnya. Hapus semua yang ada di atas baris header, sehingga baris pertama berisi nama kolom. Setiap kolom perlu satu nama, dan tidak boleh ada nama yang kosong.
Setiap baris seharusnya memiliki jumlah field yang sama. Koma nyasar di dalam nilai yang tidak diapit tanda kutip menambah satu field, dan setiap nilai sesudahnya bergeser satu kolom ke kanan. Hitung field per baris. Baris dengan jumlah yang berbeda berarti rusak.
Duplikat ada dua jenis. Baris yang identik di setiap kolom biasanya berasal dari ekspor atau tempel dua kali, dan aman untuk dihapus. Baris yang memiliki kunci sama tetapi berbeda di bagian lain mungkin merupakan pembaruan. Menghapus yang salah bisa menghilangkan versi terbaru, jadi periksa dulu.
Tanggal: 03/04/2026 bisa berarti dua hari berbeda
03/04/2026 adalah 3 April di satu negara dan 4 Maret di negara lain, dan teksnya tidak menyebutkan yang mana. Lihat tanggal lain dalam kolom yang sama. Jika ada angka pertama di atas 12, kolom itu berurutan hari-dulu. Jika ada angka kedua di atas 12, kolom itu berurutan bulan-dulu. Jika setiap nilai memiliki kedua angka 12 atau kurang, file tidak bisa memberitahu Anda, jadi tanyakan kepada sistem sumbernya. Pengecek tipe data menandai kolom seperti ini sebagai ambigu alih-alih menebak.
Setelah urutannya diketahui, ubah setiap tanggal ke ISO 8601, bentuk tahun-bulan-hari seperti 2026-04-03. Bentuk ini tidak ambigu, dan terurut dengan benar sebagai teks. Ubah format campuran satu per satu, karena kolom yang memuat kedua gaya akan dibaca tidak konsisten oleh sebagian besar program.
Angka yang tersimpan sebagai teks
Angka tersimpan sebagai teks ketika mengandung tanda mata uang, tanda persen, atau spasi di dalamnya, seperti "€ 12", "45%", atau "1 234" dengan spasi tanpa pemisah. Pemisah ribuan, seperti "1,234.50", sering membuat program juga membacanya sebagai teks. Spreadsheet menampilkan angka teks rata kiri, dan penjumlahan melewatinya.
Koma desimal adalah jebakannya. Pada "1.234,50", koma adalah pemisah desimal, dan titik mengelompokkan ribuan. Pada "1,234.50" kebalikannya. Jadi "1,234" bisa berarti 1234 di satu ekspor dan 1.234 di ekspor lain. Cari pengaturan regional (locale) sumbernya sebelum mengubah, lalu hapus pemisah ribuan dan ubah koma desimal menjadi titik.
Angka nol di depan yang hilang
Kode pos, kode produk, dan nomor rekening sering diawali nol. Ketika CSV dibuka di spreadsheet, "01234" dibaca sebagai angka 1234, dan nolnya hilang. Menyimpan file mempertahankan kehilangan itu, sehingga sistem sumber adalah satu-satunya salinan yang andal.
Pengenal adalah teks, meskipun terlihat seperti angka, karena Anda tidak pernah melakukan perhitungan dengannya. Matikan konversi angka untuk kolom seperti itu saat Anda membersihkan CSV, dan buka kembali file dari sumbernya, bukan dari salinan yang sudah disimpan spreadsheet. Periksa tipe data tiap kolom setelahnya, agar kolom kode pos tidak diam-diam berubah kembali menjadi angka. Excel juga bisa mengubah nilai saat membuka CSV, jadi periksa hasilnya di tampilan teks biasa.
Periksa tipe, lalu profilkan
Setelah dibersihkan, periksa tipe setiap kolom. Satu "N/A" dalam kolom harga membuat seluruh kolom menjadi teks, dan totalnya lalu keliru. Pengecek tipe data memberi setiap kolom sebuah tipe dan skor keyakinan, serta mendaftar sel yang tidak cocok.
Kemudian profilkan kolom-kolomnya. Profiler kolom CSV menampilkan celah dan pencilan di setiap kolom. Pencilan bisa berupa nilai sungguhan, atau kesalahan seperti harga seribu kali lebih besar dari yang lain, yang sering berasal dari titik desimal atau pemisah yang salah tempat.
Kasus khusus
- Pemutusan baris di dalam tanda kutip. Nilai yang diapit tanda kutip bisa mengandung pemutusan baris. Alat yang memecah file per baris akan memisahkan baris itu menjadi dua, jadi gunakan pembaca yang memahami field berkutip.
- File titik koma. Banyak spreadsheet Eropa menyimpan CSV dengan titik koma, karena koma adalah pemisah desimal di pengaturan regional mereka. Periksa pemisahnya sebelum membaca kolom.
- Simpan file asli. Tulis hasil bersih ke file baru, dan simpan ekspor seperti aslinya.
Urutannya, sebagai daftar periksa
- Simpan salinan ekspor asli.
- Hapus spasi nyasar dan karakter tak terlihat. Perbaiki huruf rusak di sumbernya jika bisa.
- Hapus baris judul, periksa nama header, dan pastikan setiap baris memiliki jumlah field yang sama.
- Temukan duplikat dan putuskan versi mana yang disimpan.
- Ubah tanggal ke tahun-bulan-hari, hapus pemisah, dan jadikan pengenal sebagai teks.
- Periksa tipe setiap kolom, lalu profilkan untuk mencari celah dan pencilan.
Jawaban singkat
Kenapa pencarian saya gagal padahal nilainya tampak sama?
Biasanya ada spasi, spasi tanpa pemisah, atau byte order mark di salah satu sel. Hapus karakter tersembunyi lalu coba lagi.
Kenapa tanggal saya berubah menjadi sesuatu yang lain?
Program membaca tanggal hari-dulu atau bulan-dulu dengan urutan yang salah, atau mengubah teks menjadi format tanggalnya sendiri. Ubah tanggalnya sendiri lebih dulu ke tahun-bulan-hari.
Diterjemahkan dari Asli dalam bahasa Inggris dengan bantuan AI.
Komentar
Belum ada komentar. Jadilah yang pertama.


