Advertisement
what_is_my_name_sos

mariadb import csv with python first edition

Feb 13th, 2018
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.37 KB | None | 0 0
  1. from __future__ import print_function
  2. import mysql.connector as mariadb
  3. from mysql.connector import errorcode
  4. import csv
  5.  
  6. file_name = 'grade.csv'
  7.  
  8. def main():
  9.     #DB detail
  10.     DB_NAME = 'grade_record'
  11.     TABLES = {}
  12.     TABLES['grade'] = (
  13.         "CREATE TABLE `grade` ("
  14.         "  `year` varchar(4) NOT NULL,"
  15.         "  `semester` varchar(1) NOT NULL,"
  16.         "  `subject_code` varchar(10) NOT NULL,"
  17.         "  `subject` varchar(50) NOT NULL,"
  18.         "  `credit` varchar(1) NOT NULL,"
  19.         "  `grade` varchar(2) NOT NULL,"
  20.         "  `score` varchar(3) NOT NULL)")
  21.    
  22.     #connect to mariadb
  23.     mariadb_connection = mariadb.connect(user='root', password='054620649')
  24.     cursor = mariadb_connection.cursor()
  25.    
  26.     #try to use or create db
  27.     try:
  28.         cursor.execute("USE {}".format(DB_NAME))
  29.     except:
  30.         cursor.execute("CREATE DATABASE {}".format(DB_NAME))
  31.         cursor.execute("USE {}".format(DB_NAME))
  32.        
  33.     #try to create table        
  34.     for name, ddl in TABLES.iteritems():
  35.         try:
  36.             print("Creating table {}: ".format(name), end='')
  37.             cursor.execute(ddl)
  38.         except mariadb.Error as err:
  39.             if err.errno == errorcode.ER_TABLE_EXISTS_ERROR:
  40.                 print("already exists.")
  41.             else:
  42.                 print(err.msg)
  43.         else:
  44.             print("OK")
  45.  
  46.     #read csv
  47.     with open(file_name) as csvfile:
  48.         next(csvfile)
  49.         reader = csv.reader(csvfile, delimiter=',')
  50.         store = []
  51.         for row in reader:
  52.             store.append(row)
  53.                
  54.     #insert data
  55.     for data in store:
  56.         try:
  57.             #add_grade = (
  58.                 #"INSERT INTO grade "
  59.                 #"(year,semester,subject_code,subject,credit,grade,score) "
  60.                 #"VALUES (%s,%s,%s,%s,%s,%s,%s);", (data[0], data[1], data[2], data[3], data[4], data[5], data[6]))
  61.             cursor.execute(
  62.                 "INSERT INTO grade "
  63.                 "(year,semester,subject_code,subject,credit,grade,score) "
  64.                 "VALUES (%s,%s,%s,%s,%s,%s,%s);", (data[0], data[1], data[2], data[3], data[4], data[5], data[6]))
  65.             print ("Insert Data : Done")
  66.         except mariadb.Error as error:
  67.             print("Error: {}".format(error))
  68.  
  69.     mariadb_connection.commit()
  70.  
  71.     mariadb_connection.close()
  72.                
  73. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement