<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          僅用Python三行代碼,實(shí)現(xiàn)數(shù)據(jù)庫(kù)和excel之間的導(dǎo)入導(dǎo)出!

          共 1718字,需瀏覽 4分鐘

           ·

          2022-04-28 17:26

          ↑?關(guān)注 + 星標(biāo)?,每天學(xué)Python新技能

          后臺(tái)回復(fù)【大禮包】送你Python自學(xué)大禮包

          之前有小伙伴私信我使用python如何將excel文件與mysql之間進(jìn)行快速轉(zhuǎn)換?今天我把這個(gè)方案寫出來供大家參考。

          數(shù)據(jù)庫(kù)->Excel


          使用Python代碼實(shí)現(xiàn)數(shù)據(jù)從數(shù)據(jù)庫(kù)導(dǎo)入到Excel其實(shí)很簡(jiǎn)單,三行代碼就可以搞定!


          我們首先看一下數(shù)據(jù)庫(kù)里面有一個(gè) department這個(gè)部門表。這個(gè)表里有六條數(shù)據(jù),分別代表不同的部門。
          接下來看一下這個(gè)Python代碼,首先導(dǎo)入需要用到的庫(kù)SQLAlchemy,這是Python中最有名的ORM工具。

          全稱Object Relational Mapping(對(duì)象關(guān)系映射)。



          為什么要使用SQLAlchemy?
          它可以將你的代碼從底層數(shù)據(jù)庫(kù)及其相關(guān)的SQL特性中抽象出來。
          特點(diǎn)是操縱Python對(duì)象而不是SQL查詢,也就是在代碼層面考慮的是對(duì)象,而不是SQL,體現(xiàn)的是一種程序化思維,這樣使得Python程序更加簡(jiǎn)潔易讀。


          具體使用方法如下:

          from?sqlalchemy?import?create_engine
          import?pandas?as?pd

          #?創(chuàng)建數(shù)據(jù)庫(kù)連接
          engine?=?create_engine('mysql+pymysql://root:211314@localhost/hong')

          #?讀取mysql數(shù)據(jù)
          db?=?pd.read_sql(sql='select?*?from?hong.department',?con=engine)

          #?導(dǎo)出數(shù)據(jù)到excel
          db.to_excel('部門數(shù)據(jù).xlsx')

          第一行代碼就是首先創(chuàng)建數(shù)據(jù)庫(kù)的連接。
          我的mysql用戶名是root,密碼是211314,
          因?yàn)檫@里我啟動(dòng)是啟動(dòng)的是本地的數(shù)據(jù)庫(kù)服務(wù),所以是localhost。
          斜杠后面跟的是這個(gè)數(shù)據(jù)庫(kù)的名稱hong

          第二行代碼就是使用pandas的read_sql()查詢mysql表department中的數(shù)據(jù)

          第二行代碼就是將查詢出來的數(shù)據(jù)通過pandas的to_excel()寫到本地


          執(zhí)行結(jié)果成功寫入本地excel文件



          Excel->數(shù)據(jù)庫(kù)


          接下來我們?cè)倏纯慈绾螌⒈镜氐膞lsx數(shù)據(jù)寫入到mysql文件中。
          from?sqlalchemy?import?create_engine
          import?pandas?as?pd

          #?創(chuàng)建數(shù)據(jù)庫(kù)連接
          engine?=?create_engine('mysql+pymysql://root:211314@localhost/hong')

          #?讀取xlsx文件
          df?=?pd.read_excel('模擬數(shù)據(jù).xlsx')

          #?導(dǎo)入到mysql數(shù)據(jù)庫(kù)
          df.to_sql(name='test_data',?con=engine,?index=False,?if_exists='replace')

          同樣第一行代碼就是首先創(chuàng)建數(shù)據(jù)庫(kù)的連接
          第二行代碼使用pandas的read_excel()讀取本地文件。如下:
          這是我用python的faker模擬出來的一百條數(shù)據(jù)


          第三步使用pandas的to_sql()方法將讀取到的數(shù)據(jù)寫入到mysql中
          代碼執(zhí)行完成后返回mysql中我的hong數(shù)據(jù)庫(kù)發(fā)現(xiàn)多出了一個(gè)test_data的表。


          打開看一下。那這個(gè)數(shù)據(jù)就跟本地的數(shù)據(jù)是一樣的。
          所以。這里我們用到三行代碼從數(shù)據(jù)庫(kù)向excel導(dǎo)入數(shù)據(jù),又用了三行代碼從excel向數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù)。


          總結(jié)一下:
          雙向數(shù)據(jù)導(dǎo)入,都是3行代碼即可實(shí)現(xiàn)。


          從數(shù)據(jù)庫(kù)向excel導(dǎo)入數(shù)據(jù):
          1、用sqlalchemy創(chuàng)建數(shù)據(jù)庫(kù)連接
          2、用pandas的read_sql讀取數(shù)據(jù)庫(kù)的數(shù)據(jù)
          3、用pandas的to_csv把數(shù)據(jù)存入csv文件

          從excel向數(shù)據(jù)庫(kù)導(dǎo)入數(shù)據(jù):
          1、用sqlalchemy創(chuàng)建數(shù)據(jù)庫(kù)連接
          2、用pandas的read_csv讀取csv的數(shù)據(jù)
          3、用pandas的to_sql把數(shù)據(jù)存入數(shù)據(jù)庫(kù)

          這就是今天的分享,謝謝大家。



          1. 使用Python+opencv進(jìn)行圖像處理

          2. 1分鐘爬取全國(guó)高校信息,制成大屏可視化!

          3. 用 VSCode 寫 Python,這 14 個(gè)插件不容錯(cuò)過!


          瀏覽 64
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日批视频网站 | 日本黄色电影免费 | 99精品视频16在线免费观看 | 女人性高潮视频 | 爱爱视频欧美 |