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

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *