用Python将Excel数据导入到SQL Server的例子
使用环境:Win10x64Python:3.6.4SqlServer:2008R2
因为近期需要将excel导入到SQLServer,但是使用的是其他语言,闲来无事就尝试着用python进行导入,速度还是挺快的,1w多条数据,也只用了1s多,代码也比较简单,就不多解释了。
用到的库有xlrd(用来处理excel),pymssql(用来连接使用sqlserver)
importxlrd
importpymssql
importdatetime
#连接本地sqlserver地址用户名密码数据库
conn=pymssql.connect("127.0.0.1:1433","sa","888888","Test")
#建立cursor
cursor=conn.cursor()
#excel文件
fname="XXXX.xls"
#打开文件
bk=xlrd.open_workbook(fname)
#打开工作表
sh=bk.sheets()[0]
#获取行数
start_time=datetime.datetime.now()
sql3=''
#遍历所有行
foriinrange(1,sh.nrows):
a=[]
sql='('
#遍历所有列
forjinrange(sh.ncols):
#将excel每一列的值用,隔开
sql+="'"+str(sh.cell(i,j).value)+"'"+','
#组合成sql语句(value1,value2,value3,,)
sql2=sql.strip(",")
sql3+=sql2.strip()+'),'
#1000行执行一次sql
ifi%1000==0:
sql3=sql3.rstrip(",")
sql1="insertintoFlow(ID,SaleDate,danwei,danweiname,huowuid,huowuname,chandi,guge,num,danjia,back,pihao,youxiaodate,jibendanwei,Userid,UserdanweiName,kehuquyu,kehuleixing,type)values%s"%sql3
#执行sql语句
cursor.execute(sql1)
sql=""
sql3=""
sql3=sql3.rstrip(",")
sql1="insertintoFlow(ID,SaleDate,danwei,danweiname,huowuid,huowuname,chandi,guge,num,danjia,back,pihao,youxiaodate,jibendanwei,Userid,UserdanweiName,kehuquyu,kehuleixing,type)values%s"%sql3
cursor.execute(sql1)
#commit提交变更
conn.commit()
#结束时间
end_time=datetime.datetime.now()
speed=end_time-start_time
#打印花费时间
print(speed)
以上这篇用Python将Excel数据导入到SQLServer的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。