用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的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。