我現在有個xlsx格式的excel檔案,里面有72萬條資料,現在要用python實作從excel檔案讀入并寫到mssql資料庫中
方案一.將xlsx檔案轉換成csv格式,然后用bulk insert,試了只需20秒左右,但是有幾個問題,一個資料庫登錄名的權限要足夠高,還有一個是csv檔案要在sql服務器上(如果遠程需要共享檔案就不安全了)
方案二.pymssql采用INSERT INTO Score VALUES (102,87),(183,180),(104,99) ,(102,87),(183,180),(104,99) 后面接資料串列的形式,但是這種方式后面只能跟1000條資料,再多就要出錯,試了下這種方式需要32分鐘(平均處理1萬條資料需要27秒),再加上xlrd.open_workbook打開excel檔案需要5分鐘,總計需要37分鐘.
方案三.pymssql采用executemany的方式插入資料,這種方式可以1萬條資料一起操作,但是發現還沒有方案二快,處理1萬條資料需要40秒.
方案四.pymssql逐條資料insert.這種方式顯然更慢,不推薦這樣做了.
那么請問dalao,目前方案一排除了,有沒有比方案二更快的,比較可行的方案?有網友說用pymssql的_mssql要比pymssql模塊操作快,但實際測驗對比下來不明顯.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/252272.html
