第一步,安装openpyxl和mysql环境
pip install openpyxl
pip install mysql-client
pip install pymysql
第二步,整理excel
注意此部要去除那些公式类,方法是选中有公式那一列的所有值,复制,再选择性粘贴,选择数值,然后,公式就被清除了。不然,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,
}
# 创建连接
conn = pymysql.connect(**config)
g_col_total = 6
#执行sql语句
try:
with conn.cursor() as cursor:
#执行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))
# 没有设置默认自动提交,需要主动提交,以保存所执行的语句
conn.commit()
finally:
conn.close()
这是要导入的excel文件:
ScreenClip.png
网友评论