mysql数据库连接(python3、excle)

导入必要模块

import pymysql  #mysql数据库模块
import xlrd    #excle模块
import sys    #系统输入输出模块
import os     #输入模块

数据库连接函数

import pymysql
import xlrd
import sys
import os
'''
    连接数据库
    args:db_name(数据库名称)
    returns:db

'''


def mysql_link(db_name):
    try:
        db = pymysql.connect(host="127.0.0.1", user="root",
                             passwd="12345678",
                             db=db_name,
                             charset='utf8')
        return db
    except:
        print("could not connect to mysql server")

读取excle函数

'''
    读取excel函数
    args:excel_file(excel文件,目录在py文件同目录)
    returns:book
'''
def open_excel(excel_file):
    try:
        book = xlrd.open_workbook(excel_file)  # 文件名,把文件与py文件放在同一目录下
    except:
        print("open excel file failed!")
    try:
        sheet = book.sheet_by_name("Sheet1")  # execl里面的worksheet1
        return sheet
    except:
        print("locate worksheet in excel failed!")

** 执行插入操作函数**

'''
    执行插入操作
    args:db_name(数据库名称)
         table_name(表名称)
         excel_file(excel文件名,把文件与py文件放在同一目录下)

'''
def store_to(db_name, table_name, excel_file):
    sheet = open_excel(excel_file)  # 打开excel文件
    db = mysql_link(db_name)  # 打开数据库连接
    cursor = db.cursor()  # 使用 cursor() 方法创建一个游标对象 cursor
    row_num = sheet.nrows
    try:
     for i in range(0, row_num):  # 第一行是标题名,对应表中的字段名所以应该从第二行开始,计算机以0开始计数,所以值是1
        row_data = sheet.row_values(i)  # 按行获取excel的值
        value = (row_data[0], row_data[1])
        print(i)
        sql = 'INSERT INTO %s(x,y)' %table_name + 'VALUES(%s,%s)' # 第一个%s为表名,括号内为字段,Id不用加入
        cursor.execute(sql, value)  # 执行sql语句
        db.commit()  # 提交
     cursor.close()  # 关闭连接
    except:
        print("insert error")
    #db.close()

主程序

'''
    执行程序
    args:db_name(数据库名称)
         table_name(表名称)
         data/css(文件目录)
         str(n)+".xlsx"(文件名,可变)
'''
try:
    #for num in range(10, 10):  # 迭代 10 到 20 之间的数字
    n = 2
    while n <= 300:
        print(n)
        store_to('db_name', 'table_name', "data/css"+str(n)+".xlsx")
        n = n + 2
except:
    print("失败")

你可能感兴趣的:(mysql数据库连接(python3、excle))