用用Python将将Excel数据导入到数据导入到SQL Server的例子的例子
使用环境:使用环境:Win10 x64 Python::3.6.4 SqlServer::2008R2
因为近期需要将excel导入到SQL Server,但是使用的是其他语言,闲来无事就尝试着用python进行导入,速度还是挺快的,1w多条数
据,也只用了1s多,代码也比较简单,就不多解释了。
用到的库有xlrd(用来处理excel),pymssql(用来连接使用sql server)
import xlrd
import pymssql
import datetime
# 连接本地sql server 地址 用户名 密码 数据库
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=''
# 遍历所有行
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 " % sql3
cursor.execute(sql1)
# commit提交变更
conn.commit()
# 结束时间
end_time = datetime.datetime.now()
speed = end_time - start_time
# 打印花费时间
print(speed)
以上这篇用Python将Excel数据导入到SQL Server的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多
支持软件开发网。
您可能感兴趣的文章您可能感兴趣的文章:使用python将excel数据导入数据库过程详解Python 中导入csv数据的三种方法Python之csv文件从MySQL数据库导
入导出的方法python批量导入数据进Elasticsearch的实例Python实现 多进程导入CSV数据到 MySQLpython Django批量导入数据python
Django批量导入不重复数据Python制作数据导入导出工具Python导入oracle数据的方法python 导入数据及作图的实现
评论0
最新资源