第一步治笨,安裝openpyxl和mysql環(huán)境
pip install openpyxl
pip install mysql-client
pip install pymysql
第二步豌熄,整理excel
注意此部要去除那些公式類尝艘,方法是選中有公式那一列的所有值椎侠,復(fù)制,再選擇性粘貼膀息,選擇數(shù)值般眉,然后,公式就被清除了潜支。不然甸赃,openpyxl給你取出的值就是公式值。
第三步冗酿,分析excel和插入sql算法
#coding=utf-8
import pymysql
from openpyxl import load_workbook
import string
wb = load_workbook("birth-20200317.xlsx")
sheet = wb.get_sheet_by_name("Sheet1")
# print(sheet.max_row)
# print(sheet.max_column)
irow = sheet.max_row
icol = sheet.max_column
#連接配置信息
config = {
'host': 'localhost',
'port': 3306,
'user': 'root',
'password': 'root',
'db': 'hrbirthwish',
'charset': 'utf8',
'cursorclass': pymysql.cursors.DictCursor,
}
# 創(chuàng)建連接
conn = pymysql.connect(**config)
g_col_total = 6
#執(zhí)行sql語句
try:
with conn.cursor() as cursor:
#執(zhí)行sql語句埠对,插入記錄
sql = "insert into ygxx(id,xingming,sfzhm,csrq,lxdh,lysj) values(%s, %s, %s, %s, %s, %s)"
for ix in range(1, irow):
pt = []
ipt = 0
for iy in string.ascii_uppercase:
ipt = ipt + 1
if ipt <= g_col_total:
pt.append(sheet["%s%d" % (iy, (ix+1))].value)
else:
break
cursor.execute(sql, tuple(pt))
# 沒有設(shè)置默認(rèn)自動(dòng)提交,需要主動(dòng)提交裁替,以保存所執(zhí)行的語句
conn.commit()
finally:
conn.close()
這是要導(dǎo)入的excel文件:
ScreenClip.png