Excel ke CSV tanpa aksen rusak: UTF-8, BOM, dan pemisah
Sebagian besar aksen yang rusak dalam CSV berasal dari ketidakcocokan encoding: file disimpan sebagai UTF-8 tetapi dibuka dengan encoding Windows. Ekspor lembar kerja sebagai CSV UTF-8, dengan byte order mark (BOM) jika Excel yang akan membukanya, dan pilih pemisah yang diharapkan oleh locale Anda. Sebelum ekspor, format kolom seperti kode pos dan nomor telepon sebagai teks, agar angka nol tetap ada.
Excel ke CSVButuh CSV, punya file ExcelPakai gratisMengapa "é" berubah menjadi "é"
Karakter dalam file disimpan sebagai byte. Dalam UTF-8, huruf é terdiri dari dua byte, C3 dan A9. Program yang membaca byte tersebut sebagai Windows-1252, encoding Windows yang umum, melihat karakter à untuk C3 dan © untuk A9. Jadi "café" tampil sebagai "café". Anda bisa mencobanya sendiri: mengenkode é sebagai UTF-8 lalu mendekode hasilnya sebagai Windows-1252 menghasilkan é. Huruf ü, ñ, atau ö rusak dengan cara yang sama.
Solusinya bukan mengedit karakternya, melainkan memberi tahu program encoding apa yang dipakai file tersebut.
UTF-8 dan BOM
UTF-8 adalah encoding standar untuk teks di web dan sebagian besar perangkat lunak modern. File CSV biasa tidak memiliki kolom yang menyatakan encoding apa yang dipakai, sehingga program menebak-nebak. Byte order mark adalah tiga byte di awal file, EF BB BF, yang memberi sinyal UTF-8 kepada program yang mencarinya. Excel di Windows sering membuka file UTF-8 tanpa BOM menggunakan encoding lokalnya, sehingga BOM adalah solusi yang umum.
Di versi Excel terbaru, menu Simpan Sebagai menawarkan opsi CSV UTF-8 yang menambahkan BOM. Anda juga bisa mengimpor file melalui Data, Dari Teks/CSV, lalu atur Asal File ke 65001, UTF-8. BOM memiliki satu kelemahan: program yang tidak mengharapkannya bisa menganggapnya sebagai bagian dari nama kolom pertama. Sebagian besar parser dan program spreadsheet menanganinya dengan baik, tetapi jika pengimpor data melaporkan header yang aneh, hapus BOM-nya.
Koma atau titik koma
CSV singkatan dari comma-separated values (nilai yang dipisahkan koma), dan spesifikasi RFC 4180 menjelaskan field yang dipisahkan dengan koma. Di banyak negara, termasuk yang memakai koma desimal seperti 1,5 untuk satu setengah, pemisah daftar Excel adalah titik koma. Jika itu terjadi, file yang dipisahkan koma yang dibuka di Excel bisa terpecah dengan salah, dan angka seperti 1,5 menjadi dua field.
Pilih pemisah yang diharapkan oleh program tujuan Anda. Alat Excel ke CSV menawarkan koma, titik koma, dan tab. Jika file untuk program dengan locale koma desimal, titik koma biasanya pilihan yang lebih aman.
Tanggal berubah menjadi nomor seri
Excel menyimpan tanggal sebagai nomor seri, yang menghitung hari dari titik awal. Dalam sistem tanggal 1900, 1 Januari 1900 adalah seri 1. Excel juga memperlakukan 1900 sebagai tahun kabisat, sehingga ia menghitung 29 Februari 1900, yang tidak pernah ada, sebagai seri 60. Akibatnya 1 Maret 1900 menjadi seri 61 dan menggeser setiap tanggal setelahnya satu hari. Bug ini berasal dari Lotus 1-2-3, dan Microsoft mempertahankan sistem yang sama demi kompatibilitas. Perangkat lunak lain bisa membaca tanggal sebelum 1 Maret 1900 dengan selisih satu hari.
Saat mengekspor tanggal, Anda mungkin melihat 44927 alih-alih 2023-01-01, atau selisih satu hari pada tanggal lama. Alat ini mengubah tanggal menjadi teks yang mudah dibaca. Jika Anda mengekspor secara manual, format kolom tanggal sebagai teks dengan bentuk ISO yyyy-mm-dd, yang dibaca sama oleh setiap program.
Angka nol di depan hilang
Kode pos seperti 02134 adalah teks, tetapi Excel memperlakukan angka yang diketik sebagai angka, sehingga tampil 2134. Angka nol hilang dari lembar kerja, dan CSV yang ditulis darinya juga tidak akan memilikinya. Nomor telepon yang diawali 0 dan nomor ID panjang mengalami hal yang sama. Angka yang sangat panjang juga bisa kehilangan digit, karena Excel hanya menyimpan sekitar 15 digit signifikan.
Solusinya adalah menyimpan kolom tersebut sebagai teks sebelum Anda memasukkan atau mengimpor data. Saat membuka CSV yang sudah memiliki angka nol, gunakan Data, Dari Teks/CSV dan atur kolom ke Teks, alih-alih mengklik dua kali file tersebut.
Aturan tanda kutip
RFC 4180 mendefinisikan format CSV yang umum. Aturan utama tanda kutipnya adalah:
- Field yang berisi koma, tanda kutip ganda, atau pemisah baris harus diapit tanda kutip ganda.
- Tanda kutip ganda di dalam field yang diapit ditulis sebagai dua tanda kutip ganda.
- Baris diakhiri CRLF dalam spesifikasi, meskipun sebagian besar alat menerima LF.
Contohnya, baris "Müller, Anna","She said ""ok""" memiliki dua field: Müller, Anna dan She said "ok". Tipe MIME CSV yang terdaftar di IANA adalah text/csv.
RFC 4180 tidak mengizinkan tanda kutip ganda di dalam field yang tidak diapit, dan banyak parser menolak baris seperti itu atau memecahnya dengan salah. Apit field dengan benar, atau hapus karakter nyasar tersebut.
Daftar periksa sebelum ekspor
- Ekspor sebagai CSV UTF-8, dengan BOM jika Excel akan membuka file tersebut.
- Pilih pemisah yang diharapkan oleh program tujuan Anda.
- Format kolom yang berbentuk ID, seperti kode pos dan nomor telepon, sebagai teks.
- Tulis tanggal sebagai yyyy-mm-dd.
- Buka file di editor teks biasa, lalu periksa baris pertama dan contoh nama yang memakai aksen.
Karakter tersembunyi seperti spasi tanpa pemisah (non-breaking space) juga bisa menyebabkan error impor. Alat Hapus karakter tersembunyi menemukan dan menghapusnya, dan karakter tersembunyi dalam teks menjelaskan asalnya. Setelah file bersih, CSV ke JSON dapat mengubahnya untuk developer, seperti dijelaskan dalam CSV ke JSON dan kembali.
Sebelum mengekspor, ada baiknya memeriksa sel-selnya: pemeriksa rumus Excel mencantumkan rumus yang menampilkan error atau mengarah ke file lain, dan justru sel-sel itulah yang muncul kosong di CSV. Setelah ekspor, bandingkan kedua spreadsheet untuk melihat apa yang berubah di antara versi.
Jawaban singkat
Mengapa file saya terlihat benar di satu program tetapi rusak di Excel? Jika file UTF-8 tidak memiliki BOM, Excel di Windows mungkin membacanya dengan encoding lokalnya. Menambahkan BOM, atau mengimpor dengan UTF-8 dipilih, memperbaiki hal itu.
Apakah versi Excel untuk Mac membutuhkan BOM? Beberapa sumber menyebut begitu, jadi uji dengan file yang berisi nama beraksen sebelum Anda mengirimkannya.
Bisakah saya memperbaiki tanggal setelah ekspor? Bisa, jika tanggalnya masih berupa nomor seri, tetapi lebih baik mengekspornya sebagai yyyy-mm-dd sejak awal.
Apakah spreadsheet saya diunggah saat saya mengonversinya? Alat ini berjalan di browser Anda, jadi file diproses di perangkat Anda sendiri. Anda bisa memeriksanya dengan panduan pemeriksaan unggahan.
Diterjemahkan dari Asli dalam bahasa Inggris dengan bantuan AI.
Komentar
Belum ada komentar. Jadilah yang pertama.


