在使用pymysql的executemany方法时,需要注意的几个问题
1、在写sql语句时,不管字段为什么类型,占位符统一使用%s,且不能加上引号。例如
sql="insert into tablename (id,name) values (%s,%s)"
2、添加的数据的格式必须为list[tuple(),tuple(),tuple()]或者tuple(tuple(),tuple(),tuple())例如
values=[(1,"zhangsan"),(2,"lisi")] #或者 values=((1,"zhangsan"),(2,"lisi"))
最后,通过executemany插入
cursor.executemany(sql,values)
读取本地csv文件 批量插入mysql数据 以此增加效率
list = [] for x in xinghao_items: values = (str(x).replace('nan','')) list.append(values) num = num + 1 if num == 500000: sql = "insert into t_mlcc(part_number)values('%s')" cursor.executemany(sql.replace('\'',''),list) db.commit() # 执行sql语句 print("============" + time.strftime('%Y-%m-%d %H:%M:%S') + "=====insert ok=====") num = 0 # 计数归零 list.clear() # 清空list
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。