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


Posted in Python onAugust 24, 2019

使用环境: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 相关文章推荐
python函数返回多个值的示例方法
Dec 04 Python
编写Python脚本来获取mp3文件tag信息的教程
May 04 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
Jun 27 Python
python 生成器协程运算实例
Sep 04 Python
Python中的CSV文件使用"with"语句的方式详解
Oct 16 Python
Python Numpy库datetime类型的处理详解
Jul 13 Python
Python线上环境使用日志的及配置文件
Jul 28 Python
pytorch forward两个参数实例
Jan 17 Python
通过自学python能找到工作吗
Jun 21 Python
python 常用日期处理-- datetime 模块的使用
Sep 02 Python
python如何获得list或numpy数组中最大元素对应的索引
Nov 16 Python
python如何获取网络数据
Apr 11 Python
python 根据网易云歌曲的ID 直接下载歌曲的实例
Aug 24 #Python
用Python爬取QQ音乐评论并制成词云图的实例
Aug 24 #Python
python解释器spython使用及原理解析
Aug 24 #Python
python爬虫之爬取百度音乐的实现方法
Aug 24 #Python
python3 实现爬取TOP500的音乐信息并存储到mongoDB数据库中
Aug 24 #Python
python处理自动化任务之同时批量修改word里面的内容的方法
Aug 23 #Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
Aug 23 #Python
You might like
PHP实现的通过参数生成MYSQL语句类完整实例
2016/04/11 PHP
PHP 以POST方式提交XML、获取XML,解析XML详解及实例
2016/10/26 PHP
javascript引用对象的方法代码
2007/08/13 Javascript
由document.body和document.documentElement想到的
2009/04/13 Javascript
从父页面读取和操作iframe中内容方法
2009/07/25 Javascript
JavaScript 高级篇之DOM文档,简单封装及调用、动态添加、删除样式(六)
2012/04/07 Javascript
JS获取文本框,下拉框,单选框的值的简单实例
2014/02/26 Javascript
详解addEventListener的三个参数之useCapture
2015/03/16 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
es6学习笔记之Async函数基本教程
2017/05/11 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
基于Three.js实现360度全景图片
2018/12/30 Javascript
一篇文章介绍redux、react-redux、redux-saga总结
2019/05/23 Javascript
layui对工具条进行选择性的显示方法
2019/09/19 Javascript
JS原型prototype和__proto__用法实例分析
2020/03/14 Javascript
[52:29]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第三局
2016/03/03 DOTA
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python2.x和3.x下maketrans与translate函数使用上的不同
2015/04/13 Python
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
解决Pycharm下面出现No R interpreter defined的问题
2018/10/29 Python
python 返回列表中某个值的索引方法
2018/11/07 Python
python中什么是面向对象
2020/06/11 Python
keras读取h5文件load_weights、load代码操作
2020/06/12 Python
python实现人工蜂群算法
2020/09/18 Python
Python调用ffmpeg开源视频处理库,批量处理视频
2020/11/16 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
优衣库美国官网:UNIQLO美国
2018/04/14 全球购物
八年级音乐教学反思
2014/01/09 职场文书
金融学专科生自我鉴定
2014/02/21 职场文书
质量保证书范本
2014/04/29 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
争先创优个人总结
2015/03/04 职场文书
SQL SERVER中常用日期函数的具体使用
2021/04/08 SQL Server