Cara Upload File CSV ke Database MySQL Dengan Python

MySQL dilengkapi fitur load CSV, tapi  fitur ini susah untuk digunakan karena seringkali format data CSV tidak sesuai dengan yang diminta, ada tanda kutip, spasi, koma yang berantakan, dll. Untuk mengatasi hal ini, Python dapat membantu dengan cara memasukkan data dengan cara membaca file CSV baris per baris ke MySQL.

Penjelasan yang lebih jelas untuk menyambung Python ke MySQL dapat dilihat di sini

Ini adalah script untuk memasukkan data CSV ke MySQL dengan menggunakan teknik looping:

import mysql.connector
import csv

mydb = mysql.connector.connect(
  host="host",
  user="root",
  password="pass",
  database="data"
)

mycursor = mydb.cursor()
with open('daftar.csv', newline='') as csvfile:
    reader = csv.reader(csvfile, delimiter=',')
    for val in reader : 
       sql = "INSERT INTO `data`.`info` (`nama`, `data`, `nilai`) VALUES (%s,%s,%s)"  
        mycursor.execute(sql,val)

mydb.commit()
mydb.close()

Data CSV yang bernama daftar.csv pada contoh memiliki format seperti ini (tanpa header):

nama1 data1 nilai1
nama2 data2 nilai2
nama3 data3 nilai3

Cara Menyambung Python ke MySQL

Kita akan menggunakan package MySQL Connector untuk menyambung Python ke MySQL sehingga kita dapat menjalankan command SQL dalam MySQL melalui Python. Jika package mysql.connector belum diinstall maka install terlebih dahulu dengan menuliskan command ini pada command line:

pip install mysql-connector-python

Buat file Python baru, lalu import mysql.connector

import mysql.connector

Buat connection dengan database di MySQL: (ganti variabel sesuai dengan setting data yang ingin diakses)

mydb = mysql.connector.connect(
 host="localhost",
 user="root",
 password="password",
 database="data"
)

Buat sebuah cursor:

mycursor = mydb.cursor()

Jalankan command SQL, misalnya melihat data:

mycursor.execute("select * from data;") 
myresult = mycursor.fetchall()

Hasil data dari perintah command tadi diambil dengan mycursor.fetchall() dan disimpan di variabel myresult. Hasil dapat dilihat dengan print(myresult).

Selain melihat data, kita juga dapat memasukkan data, misalnya:

mycursor.execute("INSERT INTO `data`.`population` (`name`) VALUES (%s)",”John Doe”)
mydb.commit()

Selama mydb.commit() belum dijalankan, data pada SQL tidak akan berubah.

Ketika sudah selesai, jangan lupa untuk menutup connection:

mydb.close()

Menginstall Android SDK dan OpenJDK untuk Unity dengan Unity Hub

Sekarang OpenJDK dan Android SDK dapat diinstall secara langsung melalui Unity Hub, tanpa ribet. Ini adalah tahap-tahapnya:

Buka Unity Hub dan klik pilihan “installs“, kemudian klik tombol “add

Menu Unity Hub pada bagian “installs

Pilih versi Unity, lalu klik “next

Pilihan versi Unity

Pilih “Android Build Support”, lalu klik tombol “next

Menu menginstall module Android Build Support

Pastikan untuk mengklik “I have read and agree with the above terms and conditions” lalu klik “done

Layar “End User License Agreement”

Tunggu hingga selesai.

Masalah

Android SDK dan OpenJDK membutuhkan banyak tempat pada hard disk, jadi pastikan hard disk cukup, atau akan muncul error:

Error ketika menginstall Android Build Support

Terkadang Unity tidak langsung mengatur direktori SDK dan SDK yang sudah diinstall sehingga muncul error seperti ini:

Solusinya adalah mengatur direktori secara manual sehingga terlihat seperti ini:

Biasanya file Android Build Support yang baru diinstall akan disimpan pada direktori berikut:

  • C:\Program Files\Unity\Hub\Editor\2019.4.23f1\Editor\Data\PlaybackEngines\AndroidPlayer\NDK
  • C:\Program Files\Unity\Hub\Editor\2019.4.23f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK
  • C:\Program Files\Unity\Hub\Editor\2019.4.23f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK

Catatan: layar Unity Hub Anda tidak mesti sama persis dengan yang tertera disini.

Instalasi Eval AI di Ubuntu 17.10

Artikel ini adalah adaptasi dari prosedur instalasi di https://github.com/Cloud-CV/EvalAI

 

apt-get install openssh-server
apt-get install net-tools

Instalasi software dependencies:

apt-get install python2.7
apt-get install git
apt-get install postgresql

# Success. You can now start the database server using:
# /usr/lib/postgresql/9.6/bin/pg_ctl -D /var/lib/postgresql/9.6/main -l logfile start

apt-get install rabbitmq-server
apt-get install virtualenv
apt-get install python-psycopg2 (thanks to https://stackoverflow.com/questions/28253681/you-need-to-install-postgresql-server-dev-x-y-for-building-a-server-side-extensi)
apt-get install libpq-dev
apt-get install python-dev
apt-get install build-essential

# clone the EvalAI code

git clone https://github.com/Cloud-CV/EvalAI.git evalai

# Create a python virtual environment and install python dependencies.

cd evalai
virtualenv venv
source venv/bin/activate # run this command everytime before working on project
pip install -r requirements/dev.txt

Proses sampai tahap ini berhasil, selanjutnya masih perlu diujicoba:

cp settings/dev.sample.py settings/dev.py

Use your postgres username and password for fields USER and PASSWORD in dev.py file.

Create an empty postgres database and run database migration.

sudo -i -u (username)
createdb evalai
python manage.py migrate –settings=settings.dev

Seed the database with some fake data to work with.

python manage.py seed –settings=settings.dev

This command also creates a superuser(admin), a host user and a participant user with following credentials.

SUPERUSER- username: admin password: password
HOST USER- username: host password: password
PARTICIPANT USER- username: participant password: password

That’s it. Now you can run development server at http://127.0.0.1:8000 (for serving backend)

python manage.py runserver –settings=settings.dev

Open a new terminal window with node(6.9.2) and ruby(gem) installed on your machine and type

npm install

Install bower(1.8.0) globally by running:

npm install -g bower

Now install the bower dependencies by running:

bower install

If you running npm install behind a proxy server, use

npm config set proxy http://proxy:port

Now to connect to dev server at http://127.0.0.1:8888 (for serving frontend)

gulp dev:runserver

That’s it, Open web browser and hit the url http://127.0.0.1:8888.

(Optional) If you want to see the whole game into play, then start the RabbitMQ worker in a new terminal window using the following command that consumes the submissions done for every challenge:

python scripts/workers/submission_worker.py

 

Situs Belajar Pemrograman Online Gratis

learn-programming-10-websites-to-learn-programming-easily1

Berikut ini 12 cara belajar pemrograman di Internet dengan biaya minimal alias gratis. Namun demikian sebenarnya perlu ongkos juga yaitu waktu, bandwitdh internet dan listrik.

  1. CodeAcademy
  2. Coursera
  3. Edx
  4. Udemy
  5. aGupieWare
  6. GitHub
  7. MIT Open Courseware
  8. Hack.pledge()
  9. Code Avengers
  10. Khan Academy
  11. Free Food Camp
  12. HTML5 Rocks

Berikut ini detailnya.

1. CodeAcademy

Di CodeAcademy terdapat berbagai pelajaran pemrograman, di antaranya:

2. Coursera

Di Coursera terdapat berbagai kuliah tingkat universitas, di antaranya berbagai kuliah yang terkait pemrograman

3. Edx

Edx adalah platform kuliah online beralamat di https://www.edx.org/.  Di dalamnya terdapat berbagai kuliah pemrograman.

Untuk pengenalan komputer, kita bisa mengikuti kuliah Introduction to Computer Science from Harvard University (https://www.edx.org/course/introduction-computer-science-harvardx-cs50x)

4. Udemy

Kuliah di Udemy ada yang gratis, ada yang berbayar.

Contoh kuliah gratisan:

5. aGupieWare

Alamatnya di http://blog.agupieware.com/2014/05/online-learning-bachelors-level.html

6. GitHub

Berikut ini ada judul-judul buku pemrograman gratis yang ada di GitHub:

7. MIT Open Courseware

Beberapa kuliah pemrograman gratis di MIT OCW:

8. Hack.pledge()

Alamatnya http://hackpledge.org/

9. Code Avengers

Alamatnya http://www.codeavengers.com/

10. Khan Academy

Alamatnya https://www.khanacademy.org/

11. Free Food Camp

Alamatnya http://www.freecodecamp.com/

Yang dipelajari:

  • HTML5,
  • CSS3,
  • JavaScript,
  • Databases,
  • DevTools,
  • Node.js,
  • Angular.js
  • Agile

12. HTML5 Rocks

https://developers.google.com/web/  (previously http://www.html5rocks.com/)

Sumber: http://fortune.com/2015/09/21/free-coding-classes-online/

Kalau 12 masih kurang banyak, bagaimana dengan 45: http://learntocodewith.me/posts/code-for-free/

Buku Belajar Bahasa Pemrograman Scratch

Buku Pemrograman Scratch

Buku Pemrograman Scratch

Bahasa Pemrograman Scratch. Untuk semua kalangan, anak-anak hingga dewasa. Untuk membuat Games, animasi interaktif, dan aplikasi multimedia tanpa kode teks.

Buku Pemrograman Scratch
Buku Pemrograman Scratch

Membuat program serasa bermain game.

Scratch adalah bahasa pemrograman baru yang mengandalkan kekuatan gambar.

Anda bisa membuat sendiri permainan (games) dan berbagai aplikasi multimedia yang melibatkan animasi, suara, teks dan gambar dengan sangat mudah, tanpa menggunakan kode-kode teks pemrograman.

Buku ini bisa digunakan untuk orang tua yang ingin mendampingi anak-anaknya agar kreatif dalam menggunakan komputer. Bisa juga digunakan oleh para pengajar dengan latarbelakang apapun yang ingin mendapatkan inspirasi dalam membuat animasi modul pembelajaran.