Cara membersihkan file CSV yang berantakan
Buka Pembersih CSV dan muat file dengan pembatas pada deteksi otomatis. Periksa jumlah baris dan kolom terlebih dahulu: jika jumlah kolom adalah 1, pembatasnya salah, dan menyetelnya ke titik koma atau tab biasanya memperbaiki keseluruhan file.
Kemudian kerjakan peringatan parser, yang memberi nama nomor baris tertentu, sebelum Anda menyentuh datanya. Bersihkan, lalu ekspor sebagai CSV atau JSON. Semuanya berjalan di pekerja di browser Anda; baris tidak pernah diunggah.
Mengapa ekspor tiba rusak
CSV adalah kumpulan konvensi, bukan format. Dua aplikasi dapat mengklaim dukungan CSV dan tidak setuju mengenai pembatas, gaya kutipan, akhir baris, dan pengkodean karakter.
Pembatas adalah kejutan yang paling umum. Perangkat lunak yang dijual di negara-negara yang menggunakan koma sebagai pemisah desimal sering kali mengekspor file yang dipisahkan titik koma, karena koma sudah terisi. File-file tersebut masih diakhiri dengan .csv, dan alat yang mengasumsikan koma akan menciutkan setiap baris menjadi satu kolom.
Pengkodean adalah yang kedua. File UTF-8 sering kali dimulai dengan tanda urutan byte tiga byte yang tidak terlihat. Excel di Windows menggunakannya untuk mengenali UTF-8; banyak alat lain yang tidak mengharapkannya, sehingga terpaku pada nama header pertama dan kolom bernama id secara diam-diam menjadi kolom yang tidak akan ada pencarian yang cocok.
Diagnosis dalam tiga angka
Deteksi otomatis mem-parsing sampel dengan masing-masing pembatas kandidat dan memilih salah satu yang menghasilkan hasil persegi panjang paling konsisten, itulah sebabnya ia tidak tertipu oleh koma di dalam kolom tanda kutip pada file yang dipisahkan titik koma. Seringkali hal ini benar; pratinjau memberi tahu Anda padahal sebenarnya tidak.
- Jumlah kolom. Jika 1, pembatasnya salah. Coba titik koma, lalu tab.
- Jumlah baris. Jika jauh lebih tinggi dari yang diharapkan, file tersebut mungkin berisi baris baru yang dikutip bahwa sesuatu di bagian hulu telah rusak.
- Jumlah peringatan. Setiap peringatan menyebutkan nomor baris, dihitung sesuai dengan cara editor teks menghitung, sehingga Anda dapat langsung melihatnya.
Membaca peringatannya
Baris yang tidak rata berarti suatu baris memiliki jumlah sel yang berbeda dengan header. Tidak ada yang dibuang untuk merapikan kisi-kisi: baris pendek diisi dengan bagian yang kosong dan baris panjang mempertahankan nilai ekstranya. Menghapus data seseorang secara diam-diam untuk membuat tabel terlihat persegi adalah hal terburuk yang dapat dilakukan alat pembersih, jadi hal ini tidak dilakukan.
Kutipan tidak tertutup berarti kutipan ganda dibuka dan tidak pernah ditutup, sehingga semua kutipan setelahnya dibaca sebagai satu bidang yang sangat besar. Ini hampir selalu merupakan kerusakan asli pada sumbernya, dan ada baiknya memperbaiki di mana file tersebut diproduksi daripada menambal di bagian hilir.
Alat ini melaporkan hal ini daripada memperbaikinya, karena kedua kasus tersebut memiliki beberapa kemungkinan perbaikan yang benar dan hanya Anda yang tahu mana yang berlaku.
Bersihkan dalam urutan yang benar
Ekspor formula yang aman untuk injeksi diaktifkan secara default dan merupakan satu-satunya opsi di sini dengan konsekuensi keamanan yang nyata. Sel yang diawali dengan =, +, - atau @ diperlakukan sebagai rumus oleh aplikasi spreadsheet, sehingga nilai yang berasal dari sumber tidak tepercaya dapat dieksekusi ketika seseorang membuka file Anda. Ekspor aman mengawali sel-sel tersebut dengan tanda kutip, yang menghentikan penghitungannya — termasuk sel yang ingin Anda hitung, yang merupakan hal yang melekat pada mitigasi, bukan bug.
- Pangkas spasi terlebih dahulu. Dua baris yang hanya berbeda spasi tambahan bukanlah duplikat sampai Anda memangkasnya.
- Hapus baris duplikat kedua. Kemunculan pertama dipertahankan, sehingga urutan yang bertahan tidak berubah.
- Ganti nama header dan pilih kolom yang akan diekspor.
- Urutkan jika perlu. Kolom numerik terdeteksi dan diurutkan secara numerik, jadi 9 muncul sebelum 10.
- Periksa opsi ekspor sebelum mengunduh, terutama pengaturan injeksi formula.
Memilih pengkodean ekspor
Aktifkan tanda urutan byte UTF-8 AKTIF jika file ditujukan untuk Excel di Windows, yang menggunakannya untuk mendeteksi pengkodean; tanpanya, karakter beraksen dan skrip non-Latin dapat muncul sebagai mojibake dengan klik dua kali.
Biarkan OFF jika file tersebut memuat skrip, impor basis data, atau program lain, karena beberapa parser ketat memperlakukan tanda tersebut sebagai data.
Contoh praktis: ekspor baris 12,000 yang terbuka sebagai satu kolom
Ekspor pelanggan dari CRM Eropa dibuka di editor Anda sebagai 12,000 baris dan satu kolom. Baris header bertuliskan Nama;Email;Negara;Tanggal pendaftaran.
- Muat filenya. Deteksi otomatis kolom laporan 4; jika tidak, setel pembatas ke titik koma secara manual.
- Baca peringatannya: ucapkan 3 baris acak-acakan di 418, 2,905 dan 7,110.
- Lihatlah tiga baris itu. Mereka berisi titik koma yang tidak dapat dihilangkan di dalam nama perusahaan — sel tambahan disimpan, sehingga tidak ada yang hilang.
- Pangkas spasi, lalu hapus duplikat.
- Ekspor sebagai CSV dengan koma sebagai pembatas dan tanda urutan byte aktif, karena file akan dikirim ke rekan yang menggunakan Excel.
Hasil: File UTF-8 yang dipisahkan koma dengan tanda urutan byte, empat kolom, dan baris duplikat hilang. Tiga baris masalah masih ada dengan sel tambahannya yang utuh, ditandai untuk Anda perbaiki di sumbernya, bukan dihapus untuk membuat tabel menjadi rapi.
Buka alatnya
Parsing dalam Web Worker di perangkat Anda, simpan setiap sel yang ditemukan, dan laporkan masalah yang tidak dapat ditebaknya.
Hal ini tidak tercakup dalam hal ini
- Seluruh file disimpan di memori perangkat Anda. Batasannya adalah 50 MB, dan ponsel akan mengalami masalah yang lebih parah dibandingkan laptop.
- Hanya baris 100 pertama yang ditampilkan di pratinjau, meskipun setiap baris dibersihkan dan diekspor.
- Deteksi pengkodean terbatas pada tanda urutan byte UTF-8. File yang disimpan sebagai Windows-1252 atau Shift-JIS dibaca sebagai UTF-8 dan mungkin menampilkan karakter pengganti; ekspor ulang sebagai UTF-8 dari aplikasi sumber.
- Hanya UTF-8 yang ditulis. Pengkodean lama tidak diproduksi.
- Tidak ada dukungan multi-sheet, karena CSV tidak memiliki konsep sheet.
- File yang kutipannya sudah rusak dilaporkan, tidak diperbaiki.
- Pembatalan terbatas pada 20 operasi terakhir.