Untuk menggabungkan file CSV, tambahkan dua file atau lebih, lalu pilih cara menggabungkannya. Mode tumpuk (append) menyusun baris dari semua file menjadi satu tabel dengan mencocokkan kolom berdasarkan nama judulnya, sehingga kolom yang hanya ada di sebagian file tetap dipertahankan dan dibiarkan kosong di file lain; inilah yang biasanya dimaksud dengan menggabungkan ekspor bulanan atau per wilayah. Mode join menaruh dua file berdampingan berdasarkan satu atau beberapa kolom kunci, mirip VLOOKUP di spreadsheet, lalu memberi tahu berapa baris yang cocok, kunci mana yang berulang, dan berapa baris tambahan yang muncul karenanya. Tabel gabungan diperbarui setiap kali Anda mengubah opsi, dan file digabungkan di browser Anda, tidak pernah diunggah.
Cara menggabungkan file CSV
- Tambahkan file-filenya. Setiap file dibaca dengan pemisah dan pengodean yang dikenali otomatis, dan baris pertamanya dipakai sebagai judul kolom. Daftar file menampilkan jumlah baris dan beberapa kolom pertama setiap file; pindahkan file ke atas atau ke bawah untuk mengatur urutannya.
- Pilih mode tumpuk untuk menyusun baris setiap file satu setelah yang lain, atau join untuk mencocokkan baris dua file pertama berdasarkan kunci.
- Periksa pratinjau dan catatan di atasnya, lalu unduh hasilnya sebagai CSV atau buka di editor CSV untuk melanjutkan pekerjaan.
Baris mengikuti urutan daftar file: semua baris file pertama, lalu semua baris file kedua, dan seterusnya. Untuk menggabungkan banyak laporan penjualan bulanan, tambahkan semuanya sekaligus dan aktifkan kolom sumber, agar setiap baris tetap menunjukkan dari file mana asalnya.
Tumpuk: menyusun file yang kolomnya berbeda
Mode tumpuk punya tiga cara untuk menyejajarkan kolom. Pilih yang sesuai dengan perbedaan file-file Anda.
| Cocokkan menurut nama judul kolom (bawaan) | Hasilnya memuat semua judul kolom dari semua file, sesuai urutan kemunculan pertamanya. Baris dari file yang tidak punya kolom tertentu mendapat nilai kosong di kolom itu. Nama harus sama persis: SKU dan sku menjadi dua kolom berbeda. |
|---|---|
| Wajibkan judul kolom identik | Berhenti dengan pesan kesalahan yang menyebut file pertama yang judul kolomnya berbeda dalam nama, jumlah, atau urutan. Gunakan ini jika semua file seharusnya berasal dari ekspor yang sama, sehingga kolom yang berganti nama menandakan ada yang salah. |
| Cocokkan menurut posisi | Kolom 1 ditaruh di bawah kolom 1, dan seterusnya. Judul kolom diambil dari file dengan kolom terbanyak; file yang lebih pendek mendapat nilai kosong di bagian akhir. Gunakan hanya jika file tidak punya judul kolom yang bisa dipakai, atau susunannya sama tetapi namanya berbeda. |
| Tambahkan kolom sumber | Menambahkan kolom terakhir, bernama source_file kecuali Anda menggantinya, yang berisi nama file asal setiap baris. Nama ini tidak boleh sudah dipakai sebagai judul kolom. |
| Hapus baris duplikat | Setelah ditumpuk, setiap baris yang identik dengan baris sebelumnya dibuang, dan jumlah yang dihapus dilaporkan. Salinan pertama dipertahankan. Nilai harus sama persis, termasuk huruf besar/kecil dan spasi; kolom sumber tidak ikut dibandingkan, jadi baris yang sama di dua file dihitung sebagai duplikat. |
Mencocokkan menurut posisi akan menaruh nilai di bawah judul yang salah jika salah satu file punya kolom tambahan atau urutan kolom yang berbeda: pada contoh di bawah, qty dari file April akan jatuh di bawah name. Cocokkan menurut nama judul kolom menghindari masalah ini selama file punya judul kolom.
Join: menggabungkan dua file berdasarkan kunci
Join memakai dua file pertama di daftar sebagai tabel kiri dan kanan. Pilih satu atau beberapa pasangan kolom kunci; setiap pasangan boleh punya nama berbeda, misalnya customer_id di kiri dan id di kanan. Jika ada beberapa pasangan, baris dianggap cocok hanya jika semua pasangannya cocok.
| Left join (bawaan) | Semua baris kiri, dengan kolom kanan terisi jika kuncinya cocok dan kosong jika tidak. |
|---|---|
| Inner join | Hanya baris kiri yang kuncinya ditemukan di file kanan. |
| Right join | Semua baris kanan: baris yang cocok mengikuti urutan file kiri, disusul baris kanan yang tidak cocok dengan apa pun. |
| Full join | Semua baris dari kedua file: hasil left join, disusul baris kanan yang tidak cocok dengan apa pun. |
| Abaikan huruf besar/kecil dan spasi di tepi kunci | C02 cocok dengan c02. Teks kunci dari file kiri yang ditulis ke hasil. |
Hasilnya memuat semua kolom kiri, lalu kolom-kolom file kanan kecuali kolom kuncinya. Kolom kanan yang namanya sudah dipakai diberi tambahan (2), misalnya total (2), dan catatan mencantumkan kolom yang diganti nama. Untuk baris kanan yang tidak cocok dengan apa pun, kuncinya ditulis ke kolom kunci kiri dan kolom kiri lainnya tetap kosong.
Jika sebuah kunci muncul lebih dari sekali di file kanan, setiap baris kiri yang cocok diulang sekali untuk setiap kecocokan. Catatan menghitung baris yang cocok, baris yang hanya ada di kiri atau di kanan, kunci yang berulang di masing-masing sisi, dan baris tambahan yang muncul, sehingga pencocokan yang seharusnya satu-ke-satu langsung ketahuan jika ternyata tidak.
Nilai, judul kolom, dan pemisah yang berbeda
- Nilai diperlakukan sebagai teks dan tetap persis seperti tertulis, jadi
00123tetap dengan angka nol di depannya. Kunci juga dibandingkan sebagai teks:00123dan123tidak cocok, meskipun huruf besar/kecil dan spasi diabaikan. - Pemisah, tanda kutip, dan baris baru di dalam nilai bertanda kutip dibaca sesuai RFC 4180, dan diberi tanda kutip lagi bila perlu di file unduhan.
- Di dalam satu file, judul kolom yang kosong menjadi
Column 3dan yang berulang menjadiname (2). Nama buatan ini ikut dicocokkan menurut nama judul kolom seperti nama lainnya. - File boleh memakai pemisah dan pengodean yang berbeda; masing-masing dikenali secara terpisah. Unduhan memakai pemisah koma, sedangkan akhir baris dan pengodeannya mengikuti file pertama di daftar. Pengodean yang tidak bisa ditulis browser, seperti Shift_JIS, disimpan sebagai UTF-8.
Masalah saat menumpuk atau join file
- Kolom muncul dua kali dengan nama yang sedikit berbeda. Ejaan judul kolomnya berbeda antar file (
Emaildanemail, atau ada spasi di akhir). Ganti nama salah satunya dengan Ganti nama dan urutan kolom CSV sebelum digabungkan, atau gunakan pencocokan menurut posisi jika susunannya identik. - Join hampir tidak menemukan kecocokan. Pastikan kunci ditulis dengan cara yang sama di kedua file: angka nol di depan, awalan, dan spasi semuanya diperhitungkan. Aktifkan opsi abaikan huruf besar/kecil dan spasi di tepi, atau pangkas dulu kolomnya dengan Bersihkan data CSV.
- Hasil join punya baris lebih banyak daripada file kiri. File kanan mengulang sebuah kunci; catatan menunjukkan berapa kunci yang berulang dan berapa baris tambahan yang muncul. Hapus duplikatnya atau pilih pasangan kunci yang lebih spesifik.
- Tabel gabungan melebihi batas browser. Hasilnya maksimal 100.000 baris dan 2 juta sel. Filter dulu file masukannya, atau gabungkan lebih sedikit file sekaligus.
Batas dan privasi penggabungan
Setiap file bisa berukuran hingga 25 MB, 100.000 baris, 250 kolom, dan 2 juta sel, dan hasil tumpuk atau join juga dibatasi 100.000 baris dan 2 juta sel yang sama. Penggabungan tidak diproses streaming: setiap file dimuat ke memori.
File dibaca di worker latar belakang pada tab ini dan digabungkan di browser Anda. File tidak pernah dikirim ke server. Untuk mencari apa yang berubah di antara dua versi file, bukan menggabungkannya, gunakan Bandingkan file CSV; untuk memotong satu file menjadi beberapa, gunakan Pecah file CSV.
Contoh: menumpuk dua file stok dengan kolom yang berbeda
Dua ekspor stok dengan kolom yang berbeda, ditumpuk menurut nama judul kolom dengan kolom sumber diaktifkan. name dan warehouse hanya ada di salah satu file, jadi baris dari file lainnya kosong di kolom itu, dan SKU tetap dengan angka nol di depannya.
march.csv sku,name,qty 00123,"Desk lamp, brass",4 00456,Shelf,2 april.csv sku,qty,warehouse 00789,10,North 00456,2,
sku,name,qty,warehouse,source_file 00123,"Desk lamp, brass",4,,march.csv 00456,Shelf,2,,march.csv 00789,,10,North,april.csv 00456,,2,,april.csv
Tanya jawab
Bisakah saya melakukan join lebih dari dua file?
Tidak dalam satu langkah. Join memakai dua file pertama di daftar. Unduh atau buka hasilnya, lalu join dengan file berikutnya. Mode tumpuk tidak punya batas seperti itu dan menyusun semua file yang Anda tambahkan.
Apakah penghapusan baris duplikat hanya membandingkan kolom kunci?
Tidak. Baris hanya dihapus jika semua nilainya sama persis dengan baris sebelumnya. Untuk menyisakan satu baris per ID, proses hasilnya di Bersihkan data CSV dan hapus duplikat berdasarkan kolom kunci di sana.
Mengapa pencocokan menurut posisi menaruh nilai di bawah judul kolom yang salah?
Mode posisi mengabaikan nama judul kolom dan mengambil judulnya dari file dengan kolom terbanyak. Jika satu file punya kolom yang tidak dimiliki file lain, semua nilai sesudahnya bergeser. Beralihlah ke pencocokan menurut nama judul kolom.