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

作者:azaho 时间:2021-08-21 19:24:30 

使用环境: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)

来源:https://blog.csdn.net/zhaogeno1/article/details/80808246

标签:Python,Excel,SQL,Server
0
投稿

猜你喜欢

  • Flask模板引擎Jinja2使用实例

    2022-01-19 11:58:39
  • Python的flask常用函数route()

    2023-03-10 09:54:39
  • 微信小程序顶部导航栏可滑动并选中放大

    2023-08-23 18:49:59
  • python开根号实例讲解

    2022-10-03 12:29:07
  • Pygame Surface创建图像的实现

    2023-07-10 13:44:26
  • python卸载后再次安装遇到的问题解决

    2022-06-10 01:58:09
  • Python使用matplotlib和pandas实现的画图操作【经典示例】

    2023-03-24 16:07:16
  • 关于Python中字符串的各种操作

    2022-06-25 16:18:38
  • Python使用urlretrieve实现直接远程下载图片的示例代码

    2022-11-10 16:54:33
  • python 寻找list中最大元素对应的索引方法

    2021-02-16 07:37:52
  • Python实现快速排序算法及去重的快速排序的简单示例

    2021-06-02 19:58:09
  • Javascript中各种trim的实现详细解析

    2024-04-18 10:55:04
  • python 爬取学信网登录页面的例子

    2022-11-25 22:04:39
  • MySQL transaction事务安全示例讲解

    2024-01-25 17:47:38
  • js自定义快捷,IE,FF有良好的支持

    2007-08-25 17:34:00
  • vue实现列表倒计时

    2024-04-28 09:30:36
  • python使用pandas实现数据分割实例代码

    2021-07-02 11:09:19
  • python 获取list 长度

    2021-11-12 12:49:57
  • 关于Python字典(Dictionary)操作详解

    2022-02-04 15:25:01
  • jasypt 集成SpringBoot 数据库密码加密操作

    2024-01-26 03:34:48
  • asp之家 网络编程 m.aspxhome.com