首页 > 编程 > Python > 正文

用Python将Excel数据导入到SQL Server的例子

2019-11-25 11:52:37
字体:
来源:转载
供稿:网友

使用环境:Win10 x64 Python:3.6.4 SqlServer:2008R2    

因为近期需要将excel导入到SQL Server,但是使用的是其他语言,闲来无事就尝试着用python进行导入,速度还是挺快的,1w多条数据,也只用了1s多,代码也比较简单,就不多解释了。

用到的库有xlrd(用来处理excel),pymssql(用来连接使用sql server)

import xlrdimport pymssqlimport datetime# 连接本地sql server     地址     用户名  密码   数据库conn = pymssql.connect("127.0.0.1:1433", "sa", "888888", "Test")# 建立cursorcursor = conn.cursor()# excel文件fname = "XXXX.xls"#打开文件bk = xlrd.open_workbook(fname)#打开工作表sh = bk.sheets()[0]#获取行数start_time=datetime.datetime.now()sql3=''# 遍历所有行for i in range(1,sh.nrows):  a = []  sql = '('  # 遍历所有列  for j in range(sh.ncols):    # 将excel每一列的值用,隔开     sql += "'" + str(sh.cell(i, j).value) + "'" + ','  # 组合成sql语句(value1,value2,value3,,)  sql2 = sql.strip(",")  sql3 += sql2.strip()+'),'  # 1000行执行一次sql  if i%1000==0:    sql3 = sql3.rstrip(",")    sql1 = "insert into Flow(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 = "insert into Flow(ID, SaleDate,danwei,danweiname,huowuid,huowuname,chandi,guge,num,danjia,back,pihao,youxiaodate,jibendanwei,Userid,UserdanweiName,kehuquyu,kehuleixing,type) values %s " % sql3cursor.execute(sql1)# commit提交变更conn.commit()# 结束时间end_time = datetime.datetime.now()speed = end_time - start_time# 打印花费时间print(speed)

以上这篇用Python将Excel数据导入到SQL Server的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表