Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from __future__ import print_function
- import mysql.connector as mariadb
- from mysql.connector import errorcode
- import csv
- file_name = 'grade.csv'
- def main():
- #DB detail
- DB_NAME = 'grade_record'
- TABLES = {}
- TABLES['grade'] = (
- "CREATE TABLE `grade` ("
- " `year` varchar(4) NOT NULL,"
- " `semester` varchar(1) NOT NULL,"
- " `subject_code` varchar(10) NOT NULL,"
- " `subject` varchar(50) NOT NULL,"
- " `credit` varchar(1) NOT NULL,"
- " `grade` varchar(2) NOT NULL,"
- " `score` varchar(3) NOT NULL)")
- #connect to mariadb
- mariadb_connection = mariadb.connect(user='root', password='054620649')
- cursor = mariadb_connection.cursor()
- #try to use or create db
- try:
- cursor.execute("USE {}".format(DB_NAME))
- except:
- cursor.execute("CREATE DATABASE {}".format(DB_NAME))
- cursor.execute("USE {}".format(DB_NAME))
- #try to create table
- for name, ddl in TABLES.iteritems():
- try:
- print("Creating table {}: ".format(name), end='')
- cursor.execute(ddl)
- except mariadb.Error as err:
- if err.errno == errorcode.ER_TABLE_EXISTS_ERROR:
- print("already exists.")
- else:
- print(err.msg)
- else:
- print("OK")
- #read csv
- with open(file_name) as csvfile:
- next(csvfile)
- reader = csv.reader(csvfile, delimiter=',')
- store = []
- for row in reader:
- store.append(row)
- #insert data
- for data in store:
- try:
- #add_grade = (
- #"INSERT INTO grade "
- #"(year,semester,subject_code,subject,credit,grade,score) "
- #"VALUES (%s,%s,%s,%s,%s,%s,%s);", (data[0], data[1], data[2], data[3], data[4], data[5], data[6]))
- cursor.execute(
- "INSERT INTO grade "
- "(year,semester,subject_code,subject,credit,grade,score) "
- "VALUES (%s,%s,%s,%s,%s,%s,%s);", (data[0], data[1], data[2], data[3], data[4], data[5], data[6]))
- print ("Insert Data : Done")
- except mariadb.Error as error:
- print("Error: {}".format(error))
- mariadb_connection.commit()
- mariadb_connection.close()
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement