Untuk melakukan import file CVS besar banyak cara yang bisa dilakukan, diantaranya dapat menggunakan tool bawaa MySQL, yaitu mysqlimport atau LOAD DATA atau menggunakan tool pihak ke tiga, seperti Pentaho Data Integration (PDI). Tapi kali ini, kita akan menggunaka tool pihak ke tiga yang lain, yaitu CSVKit [1].
Instalasi
Untuk instalasi di Ubuntu, cukup dengan perintah : sudo apt-get install python3-csvkit . Untuk platform lain, silahkan lihat bagian instalasi di [1].
Import Data
Untuk melakukan import data, jalankan perintah berikut :
csvsql --dialect mysql --snifflimit 0 bigfile.csv > bigfile.sql
Jika ketika menjalankan perintah ini, Anda menemui error seperti berikut :
Your file is not "utf-8" encoded. Please specify the correct encoding with the -e flag. Use the -v flag to see the complete error.
Itu artinya, file Anda disimpan tidak dengan format utf-8. File Anda harus dikonversi ke utf-8, di Ubuntu Anda dapat melakukannya dengan menjalankan perintah berikut :
iconv -f ISO8859-15 -t utf-8 bigfile.csv -o bigfile-utf8.csv
Kemudian, jalankan perintah csvsql kembali :
csvsql --dialect mysql --snifflimit 0 bigfile-utf8.csv > bigfile.sql
Jika sudah, import file bigfile.sql seperti biasa.
Atau jika ingin langsung di-insert ke database, bisa menggunakan perintah berikut :
Ada kemungkinan, jika pustaka python untuk mengakses MySQL belum ada, Anda harus menginstall nya terlebih dahulu :
Atau jika ingin langsung di-insert ke database, bisa menggunakan perintah berikut :
csvsql --db mysql://username:password@localhost:3306/databasename --tables table_name --insert bigfile.csv
Ada kemungkinan, jika pustaka python untuk mengakses MySQL belum ada, Anda harus menginstall nya terlebih dahulu :
sudo apt-get install python3-pymysql
Referensi
- CSVKit, https://csvkit.readthedocs.io
No comments:
Post a Comment