使用環境: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的例子就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
