Cara mempertahankan angka nol di depan pada file CSV: pengenal, angka, dan impor spreadsheet

Jaga pengenal tetap utuh saat mengimpor CSV: angka nol di depan, deretan digit panjang, dan kode mirip tanggal. Termasuk data contoh fiktif dan pengecekan Python pustaka standar.

Baca dalam bahasa lain

Terjemahan artikel Ithy berbantuan AI. Versi sumber: 2026-10-24. Terjemahan dipublikasikan: 2026-10-26. Baca naskah asli. Contoh orisinal diberi label; ini bukan tinjauan oleh pakar manusia yang disebutkan namanya.

File CSV bisa berisi 00123 dengan benar, tetapi spreadsheet menampilkan 123 setelah file dibuka. File hanya menyimpan bidang berupa teks; aplikasi yang mengimpor yang menentukan cara menafsirkannya. Pertahankan pengenal sebagai teks saat impor, dan periksa hasil simpanan sebelum menimpa file asli.

Pengenal belum tentu angka

Gunakan aritmetika untuk besaran seperti jumlah atau harga. Perlakukan kode pos, kunci katalog, atau pengenal akun sesuai maknanya: digitnya mungkin hanya label, bukan kuantitas yang dijumlahkan. Angka nol di depan, deretan digit panjang, dan kode mirip tanggal semuanya bisa rusak oleh konversi yang tidak diinginkan.

Panduan Microsoft tentang angka nol di depan dan angka besar menjelaskan cara mengimpor kolom yang sesuai sebagai teks. Panduan itu juga mendokumentasikan kontrol konversi otomatis pada versi Excel yang didukung. Periksa versi Anda sendiri; pengaturan yang sama tidak tersedia di setiap edisi.

Contoh CSV orisinal yang fiktif

Ini adalah rekaman rekaan untuk belajar, bukan data akun atau pelanggan nyata. Unduh contoh CSV.

item_id,reference,label,quantity
00123,12345678901234567890,JAN1,7
00007,98765432109876543210,1E10,12
KolomMakna yang dimaksudTipe impor
item_idPengenal lima karakterTeks; pertahankan 00123 dan 00007
referenceString referensi yang panjangTeks; pertahankan setiap digit
labelKode, bukan tanggal atau eksponenTeks; pertahankan JAN1 dan 1E10 apa adanya
quantityJumlahBilangan bulat, setelah validasi

CSV tidak membawa tabel tipe kolom ini sebagai skema yang diberlakukan secara universal. Mencantumkannya dalam instruksi serah terima dapat mencegah aplikasi lain menebak secara berbeda.

Impor dengan sengaja di Excel

  1. Simpan salinan CSV sumber yang tidak diubah.
  2. Gunakan alur impor teks/CSV pada aplikasi, bukan mengandalkan tebakan otomatis saat file diklik dua kali.
  3. Periksa pratinjau dan atur kolom bergaya pengenal menjadi teks sebelum konversi diterapkan. Dalam alur kueri, periksa atau ganti langkah perubahan tipe otomatis jika perlu.
  4. Periksa pemisah, pengodean, dan perlakuan nilai mirip tanggal.
  5. Muat data dan bandingkan pengenal persisnya dengan sumber.
  6. Setelah mengekspor, periksa CSV hasilnya di editor teks dan impor kembali dengan tipe kolom yang dimaksud.

Petunjuk impor/ekspor file teks Microsoft menjelaskan perbedaan antara membuka dan mengimpor. Label menu berbeda menurut platform dan versi. Format tampilan khusus berupa lima nol dapat menampilkan 123 sebagai 00123, tetapi itu tidak sama dengan mempertahankan pengenal teks asli atau memulihkan digit yang sudah hilang.

Memeriksa string dengan Python

Dokumentasi csv Python menjelaskan bahwa bidang dibaca sebagai string secara bawaan, dengan pengecualian khusus untuk opsi konversi. Pengecekan kecil ini hanya memakai pustaka standar:

import csv

with open("identifier-example.csv", newline="", encoding="utf-8") as f:
    rows = list(csv.DictReader(f))

assert rows[0]["item_id"] == "00123"
assert rows[0]["reference"] == "12345678901234567890"
assert rows[1]["label"] == "1E10"
quantities = [int(row["quantity"]) for row in rows]
assert sum(quantities) == 19

Pengecekan ini sengaja hanya mengonversi kolom quantity. Pengecekan ini menunjukkan isi file contoh, bukan jaminan untuk ekspor atau aplikasi spreadsheet sembarang.

Yang tidak bisa dipulihkan secara otomatis

Jika pengenal panjang sudah dibulatkan dan disimpan menimpa file asli, mengubah format sel menjadi teks tidak dapat merekonstruksi digit yang hilang. Pulihkan dari sumber yang tidak diubah. Jika 123 bisa berarti 00123 atau 123, menambahkan nol di depannya adalah keputusan aturan bisnis, bukan bukti nilai aslinya.

Mengutip bidang CSV adalah sintaks untuk mempertahankan pemisah dan karakter lain; itu tidak secara universal memaksa spreadsheet memperlakukan bidang tersebut sebagai teks. Serah terima yang berguna menyebutkan pengodean, pemisah, tipe kolom yang dimaksud, dan aturan validasi. Untuk masalah berbagi dokumen yang terkait, lihat ketersediaan dan portabilitas font Word.

Untuk koreksi, kirim klaim spesifik beserta sumber pendukung melalui Ithy Bantuan. Metodologi riset · Panduan riset lainnya.