Python mysql-表中数据的大量插入

时间:2024-08-25 16:33:20

2017-09-06 23:28:26

import pymysql

db = pymysql.connect("localhost","root","hy1102","TESTDB",charset='utf8')

cursor = db.cursor()

list=[]
with open("E:\\ee.txt","r") as f:
for line in f:
ls = line.split()
for i in range(0,len(ls)):
if ls[i] == "NULL":
ls[i] = None
list.append(ls)
f.close() sql ="""insert into shohin VALUES (%s,%s,%s,%s,%s,%s)"""
try:
  cursor.executemany(sql,list)
  db.commit()
except:
  db.rollback() db.close()

注意事项:

  • charset='utf8' : 在有中文字符时必须写上
  • 使用excutemany(sql,list),可以一次处理大量的数据,且效率颇高。文件中的NULL目前采用的方式是手动替换成None
  • list中的数据可以是list也可以是tuple
  • excutemany中sql的替换符必须是%s