测试了三种方案:
方案一、消耗时间: 1586秒=26分钟,不使用进程池,executemany插入
-
import openpyxl
-
import pymysql as msq
-
import time
-
conn = msq.connect(
-
host='127.0.0.1',
-
port=3306,
-
user='root',
-
password='bagayalu',
-
database='test',
-
) #连接数据库
-
cursor = conn.cursor(cursor=msq.cursors.DictCursor) #获取游标
-
def get_data():
-
wb = openpyxl.load_workbook(r'C:\Users\User\Desktop\xx.xlsx') #打开excel表格
-
ws = wb.active #激活
-
pa = [] #定义空列表
-
for r in range(1,ws.max_row): #循环每一行,从1开始,excel第一个是1
-
A1 = ws.cell(r+1,1).value #获取第一行第一列
-
A2 = ws.cell(r+1,2).value #获取第一行第二列
-
A3 = ws.cell(r+1,3).value #获取第一行第三列
-
pa.append([str(A1),A2,A3]) #将参数以列表的形式追加到列表里,参数的格式就得是这样的
-
try:
-
print("开始执行sql...")
-
sql = "REPLACE INTO test.tmp_table (id, one, two, three) VALUES (NULL, '%s', '%s', '%s');