亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Python3將excel中的數(shù)據(jù)導(dǎo)入mysql數(shù)據(jù)庫(kù)

系統(tǒng) 1909 0
原文鏈接: https://blog.csdn.net/Anwel/article/details/79967261

非常使用的方法:(親測(cè)有效果)

            
              
                import
              
               pymysql

              
                # xlrd 為 python 中讀取 excel 的庫(kù),支持.xls 和 .xlsx 文件
              
              
                # import xlrd
              
              
                # openpyxl 庫(kù)支持 .xlsx 文件的讀寫
              
              
                from
              
               openpyxl
              
                .
              
              reader
              
                .
              
              excel 
              
                import
              
               load_workbook

              
                from
              
               builtins 
              
                import
              
              
                int
              
              
                #cur 是數(shù)據(jù)庫(kù)的游標(biāo)鏈接,path 是 excel 文件的路徑
              
              
                def
              
              
                importExcelToMysql
              
              
                (
              
              cur
              
                ,
              
               path
              
                )
              
              
                :
              
              
                ### xlrd版本
              
              
                # 讀取excel文件
              
              
                # workbook = xlrd.open_workbook(path)
              
              
                # sheets = workbook.sheet_names()
              
              
                # worksheet = workbook.sheet_by_name(sheets[0])
              
              
                ###
              
              
                ### openpyxl版本
              
              
                # 讀取excel文件
              
              
    workbook 
              
                =
              
               load_workbook
              
                (
              
              path
              
                )
              
              
                # 獲得所有工作表的名字
              
              
    sheets 
              
                =
              
               workbook
              
                .
              
              get_sheet_names
              
                (
              
              
                )
              
              
                # 獲得第一張表
              
              
    worksheet 
              
                =
              
               workbook
              
                .
              
              get_sheet_by_name
              
                (
              
              sheets
              
                [
              
              
                0
              
              
                ]
              
              
                )
              
              
                ###
              
              
                ### xlrd版本
              
              
                # 將表中數(shù)據(jù)讀到 sqlstr 數(shù)組中
              
              
                # for i in range(1, worksheet.nrows):
              
              
                #     row = worksheet.row(i)
              
              
                #
              
              
                #     sqlstr = []
              
              
                #
              
              
                #     for j in range(0, worksheet.ncols):
              
              
                #         sqlstr.append(worksheet.cell_value(i, j))
              
              
                ###
              
              
                ### openpyxl版本
              
              
                # 將表中每一行數(shù)據(jù)讀到 sqlstr 數(shù)組中
              
              
                for
              
               row 
              
                in
              
               worksheet
              
                .
              
              rows
              
                :
              
              
 
        sqlstr 
              
                =
              
              
                [
              
              
                ]
              
              
                for
              
               cell 
              
                in
              
               row
              
                :
              
              
            sqlstr
              
                .
              
              append
              
                (
              
              cell
              
                .
              
              value
              
                )
              
              
                ###
              
              
 
        valuestr 
              
                =
              
              
                [
              
              
                str
              
              
                (
              
              sqlstr
              
                [
              
              
                0
              
              
                ]
              
              
                )
              
              
                ,
              
              
                int
              
              
                (
              
              sqlstr
              
                [
              
              
                1
              
              
                ]
              
              
                )
              
              
                ,
              
              
                int
              
              
                (
              
              sqlstr
              
                [
              
              
                2
              
              
                ]
              
              
                )
              
              
                ,
              
              
                int
              
              
                (
              
              sqlstr
              
                [
              
              
                3
              
              
                ]
              
              
                )
              
              
                ]
              
              
                # 將每行數(shù)據(jù)存到數(shù)據(jù)庫(kù)中
              
              
        cur
              
                .
              
              execute
              
                (
              
              
                "insert into student(姓名, 語(yǔ)文, 數(shù)學(xué), 英語(yǔ)) values(%s, %s, %s, %s)"
              
              
                ,
              
               valuestr
              
                )
              
              
                # 輸出數(shù)據(jù)庫(kù)中內(nèi)容
              
              
                def
              
              
                readTable
              
              
                (
              
              cursor
              
                )
              
              
                :
              
              
                # 選擇全部
              
              
    cursor
              
                .
              
              execute
              
                (
              
              
                "select * from student"
              
              
                )
              
              
                # 獲得返回值,返回多條記錄,若沒(méi)有結(jié)果則返回()
              
              
    results 
              
                =
              
               cursor
              
                .
              
              fetchall
              
                (
              
              
                )
              
              
                for
              
               i 
              
                in
              
              
                range
              
              
                (
              
              
                0
              
              
                ,
              
               results
              
                .
              
              __len__
              
                (
              
              
                )
              
              
                )
              
              
                :
              
              
                for
              
               j 
              
                in
              
              
                range
              
              
                (
              
              
                0
              
              
                ,
              
              
                4
              
              
                )
              
              
                :
              
              
                print
              
              
                (
              
              results
              
                [
              
              i
              
                ]
              
              
                [
              
              j
              
                ]
              
              
                ,
              
               end
              
                =
              
              
                '\t'
              
              
                )
              
              
                print
              
              
                (
              
              
                '\n'
              
              
                )
              
              
                if
              
               __name__ 
              
                ==
              
              
                '__main__'
              
              
                :
              
              
                # 和數(shù)據(jù)庫(kù)建立連接
              
              
    conn 
              
                =
              
               pymysql
              
                .
              
              connect
              
                (
              
              
                'localhost'
              
              
                ,
              
              
                'root'
              
              
                ,
              
              
                '123456'
              
              
                ,
              
               charset
              
                =
              
              
                'utf8'
              
              
                )
              
              
                # 創(chuàng)建游標(biāo)鏈接
              
              
    cur 
              
                =
              
               conn
              
                .
              
              cursor
              
                (
              
              
                )
              
              
                # 新建一個(gè)database
              
              
    cur
              
                .
              
              execute
              
                (
              
              
                "drop database if exists students"
              
              
                )
              
              
    cur
              
                .
              
              execute
              
                (
              
              
                "create database students"
              
              
                )
              
              
                # 選擇 students 這個(gè)數(shù)據(jù)庫(kù)
              
              
    cur
              
                .
              
              execute
              
                (
              
              
                "use students"
              
              
                )
              
              
                # sql中的內(nèi)容為創(chuàng)建一個(gè)名為student的表
              
              
    sql 
              
                =
              
              
                """CREATE TABLE IF NOT EXISTS `student` (
                `姓名` VARCHAR (20),
                `語(yǔ)文` INT,
                `數(shù)學(xué)` INT,
                `英語(yǔ)` INT
              )"""
              
              
                # 如果存在student這個(gè)表則刪除
              
              
    cur
              
                .
              
              execute
              
                (
              
              
                "drop table if exists student"
              
              
                )
              
              
                # 創(chuàng)建表
              
              
    cur
              
                .
              
              execute
              
                (
              
              sql
              
                )
              
              
                # 將 excel 中的數(shù)據(jù)導(dǎo)入 數(shù)據(jù)庫(kù)中
              
              
    importExcelToMysql
              
                (
              
              cur
              
                ,
              
              
                "./student.xlsx"
              
              
                )
              
              
    readTable
              
                (
              
              cur
              
                )
              
              
                # 關(guān)閉游標(biāo)鏈接
              
              
    cur
              
                .
              
              close
              
                (
              
              
                )
              
              
    conn
              
                .
              
              commit
              
                (
              
              
                )
              
              
                # 關(guān)閉數(shù)據(jù)庫(kù)服務(wù)器連接,釋放內(nèi)存
              
              
    conn
              
                .
              
              close
              
                (
              
              
                )
              
            
          

根據(jù)需求更改main中的表數(shù)據(jù)即可,毫秒級(jí)別的導(dǎo)入啊


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 日日摸夜夜欧美一区二区 | 天天干天天插 | 久久免费高清 | 午夜一级精品免费毛片 | 五月天婷婷在线观看高清 | 国产操比 | 亚洲精品久久一区影院 | 香蕉在线影院 | 午夜精品久久久久久久爽 | 五月天丁香六月欧美综合 | 亚洲视频 欧美视频 | 日韩久久一级毛片 | 国产成人精品一区二区三在线观看 | 4huh34四虎最新久 | 99国产精品久久久久久久... | 日本一级特大毛片 | 两性视频久久 | 久久精品国产精品亚洲艾 | 天天舔天天操天天干 | 亚洲在线观看一区二区 | 狠狠色狠狠色综合婷婷tag | 九九99久久精品国产 | 亚洲精品在线视频观看 | 特黄特黄一级片 | 精品国产人成在线 | 99久久免费精品国产免费高清 | 色天天综合| 国产成年| 奇米视频第四色 | 欧洲成人免费视频 | 精品九九久久国内精品 | 狠狠狠色丁香婷婷综合久久五月 | 999国产精品999久久久久久 | 亚洲无卡视频 | 亚洲欧美日韩一级特黄在线 | 四虎影院在线观看网站 | 色噜噜狠狠狠狠色综合久一 | 久久天堂视频 | 91精品一区二区三区久久久久 | 在线观看中文字幕亚洲 | 中国女人69xxxxx |