用Python將Excel數(shù)據(jù)導(dǎo)入到SQL Server的例子
使用環(huán)境:Win10 x64 Python:3.6.4 SqlServer:2008R2
因?yàn)榻谛枰獙xcel導(dǎo)入到SQL Server,但是使用的是其他語(yǔ)言,閑來(lái)無(wú)事就嘗試著用python進(jìn)行導(dǎo)入,速度還是挺快的,1w多條數(shù)據(jù),也只用了1s多,代碼也比較簡(jiǎn)單,就不多解釋了。
用到的庫(kù)有xlrd(用來(lái)處理excel),pymssql(用來(lái)連接使用sql server)
import xlrd import pymssql import datetime # 連接本地sql server 地址 用戶名 密碼 數(shù)據(jù)庫(kù) conn = pymssql.connect("127.0.0.1:1433", "sa", "888888", "Test") # 建立cursor cursor = conn.cursor() # excel文件 fname = "XXXX.xls" #打開(kāi)文件 bk = xlrd.open_workbook(fname) #打開(kāi)工作表 sh = bk.sheets()[0] #獲取行數(shù) start_time=datetime.datetime.now() sql3='' # 遍歷所有行 for i in range(1,sh.nrows): a = [] sql = '(' # 遍歷所有列 for j in range(sh.ncols): # 將excel每一列的值用,隔開(kāi) sql += "'" + str(sh.cell(i, j).value) + "'" + ',' # 組合成sql語(yǔ)句(value1,value2,value3,,) sql2 = sql.strip(",") sql3 += sql2.strip()+'),' # 1000行執(zhí)行一次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 # 執(zhí)行sql語(yǔ)句 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() # 結(jié)束時(shí)間 end_time = datetime.datetime.now() speed = end_time - start_time # 打印花費(fèi)時(shí)間 print(speed)
以上這篇用Python將Excel數(shù)據(jù)導(dǎo)入到SQL Server的例子就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
超實(shí)用Python庫(kù)之lxml使用方法詳解
lxml是python的一個(gè)解析庫(kù),支持HTML和XML的解析,支持XPath解析方式,下面這篇文章主要給大家介紹了關(guān)于超實(shí)用Python庫(kù)之lxml使用方法的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07python 線程的暫停, 恢復(fù), 退出詳解及實(shí)例
這篇文章主要介紹了python 線程的暫停, 恢復(fù), 退出詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-12-12在Python中操作時(shí)間之tzset()方法的使用教程
這篇文章主要介紹了在Python中操作時(shí)間之tzset()方法的使用教程,是Python學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-05-05使用pyinstaller打包.exe文件的詳細(xì)教程
PyInstaller是一個(gè)跨平臺(tái)的Python應(yīng)用打包工具,能夠把 Python 腳本及其所在的 Python 解釋器打包成可執(zhí)行文件,下面這篇文章主要給大家介紹了關(guān)于使用pyinstaller打包.exe文件的相關(guān)資料,需要的朋友可以參考下2022-04-04Python標(biāo)準(zhǔn)庫(kù)urllib2的一些使用細(xì)節(jié)總結(jié)
這篇文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)urllib2的一些使用細(xì)節(jié)總結(jié),本文總結(jié)了Proxy 的設(shè)置、Timeout 設(shè)置、Redirect、Cookie等細(xì)節(jié)的使用,需要的朋友可以參考下2015-03-03用Python實(shí)現(xiàn)協(xié)同過(guò)濾的教程
這篇文章主要介紹了用Python實(shí)現(xiàn)協(xié)同過(guò)濾的教程,主要用于從大數(shù)據(jù)中抽取用戶信息偏好等等,需要的朋友可以參考下2015-04-04Python英文單詞大小寫(xiě)轉(zhuǎn)換常用方法示例
這篇文章主要為大家介紹了Python英文單詞大小寫(xiě)轉(zhuǎn)換常用方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01