您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何用三行Python代碼實現(xiàn)數(shù)據(jù)庫和Excel的導入導出”,在日常操作中,相信很多人在如何用三行Python代碼實現(xiàn)數(shù)據(jù)庫和Excel的導入導出問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何用三行Python代碼實現(xiàn)數(shù)據(jù)庫和Excel的導入導出”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
我們首先看一下數(shù)據(jù)庫里面有一個 department這個部門表。這個表里有六條數(shù)據(jù),分別代表不同的部門。
接下來看一下這個Python代碼,首先導入需要用到的庫SQLAlchemy,這是Python中最有名的ORM工具。
全稱Object Relational Mapping(對象關(guān)系映射)。
它可以將你的代碼從底層數(shù)據(jù)庫及其相關(guān)的SQL特性中抽象出來。
特點是操縱Python對象而不是SQL查詢,也就是在代碼層面考慮的是對象,而不是SQL,體現(xiàn)的是一種程序化思維,這樣使得Python程序更加簡潔易讀。
from sqlalchemy import create_engine import pandas as pd # 創(chuàng)建數(shù)據(jù)庫連接 engine = create_engine('mysql+pymysql://root:211314@localhost/hong') # 讀取mysql數(shù)據(jù) db = pd.read_sql(sql='select * from hong.department', con=engine) # 導出數(shù)據(jù)到excel db.to_excel('部門數(shù)據(jù).xlsx')
我的mysql用戶名是root,密碼是211314,
因為這里我啟動是啟動的是本地的數(shù)據(jù)庫服務,所以是localhost。
斜杠后面跟的是這個數(shù)據(jù)庫的名稱hong
第二行代碼就是使用pandas的read_sql()查詢mysql表department中的數(shù)據(jù)
第二行代碼就是將查詢出來的數(shù)據(jù)通過pandas的to_excel()寫到本地
執(zhí)行結(jié)果成功寫入本地excel文件
接下來我們再看看如何將本地的xlsx數(shù)據(jù)寫入到mysql文件中。
from sqlalchemy import create_engine import pandas as pd # 創(chuàng)建數(shù)據(jù)庫連接 engine = create_engine('mysql+pymysql://root:211314@localhost/hong') # 讀取xlsx文件 df = pd.read_excel('模擬數(shù)據(jù).xlsx') # 導入到mysql數(shù)據(jù)庫 df.to_sql(name='test_data', con=engine, index=False, if_exists='replace')
同樣第一行代碼就是首先創(chuàng)建數(shù)據(jù)庫的連接
第二行代碼使用pandas的read_excel()讀取本地文件。如下:
這是我用python的faker模擬出來的一百條數(shù)據(jù)
第三步使用pandas的to_sql()方法將讀取到的數(shù)據(jù)寫入到mysql中
代碼執(zhí)行完成后返回mysql中我的hong數(shù)據(jù)庫發(fā)現(xiàn)多出了一個test_data的表。
打開看一下。那這個數(shù)據(jù)就跟本地的數(shù)據(jù)是一樣的。
所以。這里我們用到三行代碼從數(shù)據(jù)庫向excel導入數(shù)據(jù),又用了三行代碼從excel向數(shù)據(jù)庫導入數(shù)據(jù)。
1、用sqlalchemy創(chuàng)建數(shù)據(jù)庫連接
2、用pandas的read_sql讀取數(shù)據(jù)庫的數(shù)據(jù)
3、用pandas的to_csv把數(shù)據(jù)存入csv文件
1、用sqlalchemy創(chuàng)建數(shù)據(jù)庫連接
2、用pandas的read_csv讀取csv的數(shù)據(jù)
3、用pandas的to_sql把數(shù)據(jù)存入數(shù)據(jù)庫a
到此,關(guān)于“如何用三行Python代碼實現(xiàn)數(shù)據(jù)庫和Excel的導入導出”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。