Konversi CSV ke XLS (Excel)

Hanya dengan mengandalkan Notepad dan Microsoft Excel yang umumnya sudah tersedia di komputer, file CSV (Comma Separated Values) dapat dikonversi dengan mudah menjadi file XLS. File CSV adalah file teks biasa yang kalau di Excel menggunakan karakter koma atau titik koma sebagai pemisah kolom (meskipun kepanjangan dari CSV tidak mengandung kata "semicolon"). Teknik konversi yang dibahas di sini mengandalkan fasilitas penggantian karakter (character replacement) di mana konsistensi pemakaian karakter berperan sangat penting. Jika kurang hati-hati, karakter pemisah field (koma) yang muncul juga di dalam string nilai kolom akan menjadi masalah sendiri karena dapat mengakibatkan kerusakan struktur data.

Contoh data berikut menggunakan karakter koma sebagai pemisah field, sedangkan di dalam data kolomnya sendiri ada yang mengandung karakter koma, yaitu kolom alamat. Perhatikan data alamat yang diberi cetak tebal :

no_hp,nama,alamat
085228321000,P. Andrew,Suryatmajan, Yogyakarta
0818271000,Sander XL,Jambi
081339669000,Budi PK,Samirono, Yogyakarta
08881146000,Edy P,Klebengan, Yogyakarta

Catatan: Baris pertama bukan data, tetapi nama-nama kolom

Apabila semua karakter koma pada contoh di atas dianggap pemisah field, maka kolom alamat akan berubah menjadi dua kolom pada sebagian data (yang alamatnya mengandung koma saja). Hal ini tidak diinginkan dalam proses konversi, namun masih dapat diatasi karena pada contoh ini nama dusun dan nama kota di dalam kolom alamat dipisahkan dengan koma dan spasi (tidak hanya koma saja) secara konsisten, maka proses konversi masih dapat dilakukan karena pemisah dusun dan nama kota masih dapat dibedakan dengan pemisah field.

Prosedur Konversi
Sebelum memulai proses konversi, buatlah backup terlebih dahulu file CSV yang akan dikonversi untuk berjaga-jaga saja seandainya pada proses berikutnya terjadi salah prosedur, daripada repot belakangan.

Contoh isi file CSV yang akan dikonversi:

no_hp,nama,alamat
081802697000,Herman,Kaliurang, Yogyakarta
085228321000,P. Andrew,Suryatmajan, Yogyakarta
0818271000,Sander XL,Jambi
081339669000,Budi PK,Samirono, Yogyakarta
08881146000,Edy P,Klebengan, Yogyakarta
081804144000,Fikri Cell,Banyubiru, Ngawi
081345670000,Freddy,Pontianak
02747416000,Ipin Flexi,Yogyakarta

Ganti karakter pemisah field yang terdapat di dalam data
Karakter pemisah field (dalam contoh ini adalah karakter koma) yang ada di dalam data diganti dengan beberapa karakter lain yang tidak akan ditemukan kembarannya di dalam data. Beberapa karakter pengganti ini nantinya akan diubah kembali menjadi koma di tahap akhir proses konversi. Misal, karakter koma dan spasi (yang memisahkan nama dusun dan nama kota) diganti dengan karakter *** (bintang 3 kali) dengan asumsi di dalam data tidak akan dijumpai karakter bintang berturut-turut sebanyak tiga kali.

Step 1: Ganti karakter spasi yang diikuti koma, dengan karakter *** (bintang 3x)

Tips: Cara Replace di Notepad
Bila anda jarang menggunakan fasilitas Replace di Notepad (mirip dengan Find and Replace di Microsoft Word), ikuti panduan berikut:

* Setiap memulai find and replace, terlebih dahulu letakkan kursor di bagian paling awal
* Tekan Ctrl+H atau klik menu Edit, Replace
* Masukkan karakter atau susunan karakter yang akan dicari di kotak Find what
* Masukkan karakter atau susunan karakter pengganti di kotak Replace with
* Gunakan tombol Find Next kemudian tombol Replace untuk melaksanakan proses penggantian satu per satu, atau gunakan tombol Replace All untuk melaksanakan proses penggantian di seluruh isi file sekaligus



Sampai di sini, isi file CSV akan menjadi seperti ini:
no_hp,nama,alamat
081802697000,Herman,Kaliurang***Yogyakarta
085228321000,P. Andrew,Suryatmajan***Yogyakarta
0818271000,Sander XL,Jambi
081339669000,Budi PK,Samirono***Yogyakarta
08881146000,Edy P,Klebengan***Yogyakarta
081804144000,Fikri Cell,Banyubiru***Ngawi
081345670000,Freddy,Pontianak
02747416000,Ipin Flexi,Yogyakarta

Ganti karakter pemisah field (koma) menjadi karakter Tab
Microsoft Excel dapat menerima data plain text melalui clipboard di mana karakter tab akan diperlakukan sebagai pemisah kolom. Prosedur selanjutnya adalah mengganti karakter koma menjadi karakter tab.

Step 2: Ganti karakter koma dengan karakter tab



Langkah ini berbeda dengan prosedur replace pada umumnya, karena kita tidak dapat memasukkan karakter tab di kotak Replace with dengan cara menekan tombol Tab. Di sini kita perlu sedikit trik:

* Jalankan Notepad satu lagi (Notepad kedua), tekan tombol Tab, kemudian copy karakter tab tersebut. Caranya dengan menekan tombol Shift disertai tombol panah kiri (dengan catatan posisi kursor masih di sebelah kanan karakter tab), kemudian tekan Ctrl+C.
* Kembali ke Notepad pertama yang sudah dibuka sebelumnya (yang digunakan untuk mengedit file CSV), tekan Ctrl+H untuk memunculkan dialog Replace.
* Masuk ke kotak Replace with, kemudian tekan Ctrl+V untuk mem-paste karakter tab yang telah dikopi (dari Notepad kedua). Jika trik ini berjalan sebagaimana mestinya, di kotak ini akan muncul gambar kotak kecil (representasi dari karakter tab).
* Selanjutnya klik tombol Replace All seperti pada proses replace biasa.

Kembalikan data yang mengandung karakter pemisah field (koma) seperti semula
Di tahap awal, karakter koma dan spasi yang memisahkan nama dusun dan nama kota diganti dengan karakter ***, data ini harus dikembalikan seperti semula dengan cara mengganti karakter *** menjadi koma dan spasi.

Step 3: Ganti karakter *** dengan karakter koma dan spasi


Sampai di sini, karakter pemisah field (koma) sudah berubah menjadi tab, sehingga data di atas menjadi:
no_hp   nama     alamat
081802697000   Herman   Kaliurang, Yogyakarta
085228321000   P. Andrew   Suryatmajan, Yogyakarta
0818271000       Sander XL   Jambi
081339669000   Budi PK   Samirono, Yogyakarta
08881146000     Edy P   Klebengan, Yogyakarta
081804144000   Fikri Cell   Banyubiru, Ngawi
081345670000   Freddy   Pontianak
02747416000     Ipin Flexi   Yogyakarta


Pindahkan data hasil konversi ke Microsoft Excel
Data hasil replace di atas selanjutnya dipindahkan ke Microsoft Excel menggunakan copy-paste biasa.

Step 4: Pindahkan data hasil konversi ke Microsoft Excel

Di tahap ini anda tidak akan menemukan kesulitan asalkan field-field dan isi data asal tidak akan menimbulkan persepsi tipe data yang salah di Microsoft Excel.

Namun pada contoh ini, kolom No. HP akan dianggap sebagai kolom numerik oleh Microsoft Excel sehingga digit "0" di awal No. HP akan dibuang. Masalah ini dapat diatasi dengan cara mengubah format data kolom pertama (kolom yang akan menerima data No. HP) di Microsoft Excel ke tipe Text.


Proses pemindahannya pun tidak menggunakan copy-paste, melainkan copy-paste special. Copy-nya copy biasa, tetapi paste-nya di Microsoft Excel dengan mengklik kanan kolom pertama baris pertama, kemudian klik Paste Special, kemudian pilih Paste As Text.



sumber : http://mantab.noads.biz

0 komentar:

Posting Komentar