天天看點

python -- 将Excel檔案内容批量插入mysql資料庫

#讀取Excel檔案内容批量插入資料庫
import random

from pymysql import connect
import xlrd

# 打開xls檔案
data = xlrd.open_workbook('檔案')
# 打開第一張表
table = data.sheets()[1]
# 擷取表的行數
nrows = table.nrows
list_ = []
# 循環逐行列印
for i in range(nrows):
    # 取前十三列
    content = table.row_values(i)[1]
    list_.append(content)

seed = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
for j in range(1,len(list_)):
    con = list_[j]
    #随機生成郵箱
    email = random.choice(seed)+str(j) + random.choice(seed)+'@qq.com'
    # passwd = str(j)+str(10)
    #建立連接配接
    conn = connect(host='localhost', user='root', password='密碼', db='資料庫', port=3306)
    # 擷取遊标
    cur = conn.cursor()
    #使用者類型
    type = 'dealer'
    #部門ID
    bu_id = 10
    create_at = '2018-05-15 02:30:52'
    #使用者頭像
    avatar = 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1544011472569&di=0c979013036cc5d17214a99ea8db9d9f&imgtype=0&src=http%3A%2F%2Fpic.90sjimg.com%2Fdesign%2F00%2F67%2F59%2F63%2F58e89bee922a2.png'
    sql = "insert into admin(name,avatar,email,type,create_at,bu_id) values (%s,%s,%s,%s,%s,%s)"
    # 參數化方式傳參
    row_count = cur.execute(sql, [con,  avatar, email, type,create_at,bu_id])
    # 顯示操作結果
    print("SQL語句影響的行數為%d" % row_count)
    # 統一送出
    conn.commit()
    # 關閉遊标 
cur.close()
    # 關閉連接配接
conn.close()