
【閱讀全文】
python在制作一些小工具上本身就有著得天獨厚的優勢,大多數非標準庫的應用只需要進行簡單的安裝即可使用,
比如:使用python將excel中的資料匯入到mysql資料庫表中,或是將mysql資料庫表中的資料直接匯出為excel都只需要簡單的幾行代碼就可以完成,假如使用Java來做這件事強那可就有些復雜了呢,
話不多說,接下來直接進入正題...
這里使用兩個python的非標準庫來操作,一個是我們比較熟悉的pandas非標準庫,使用它來完成excel相關的資料操作,
另外一個則是sqlalchemy非標準庫,使用它來完成對mysql資料庫表的相關資料操作,
使用pip的方式將這兩個非標準庫安裝好,下面是安裝命令:
pip install sqlalchemy
pip install pandas
準備好以后,先來撰寫一個函式mysql_to_excel將資料從mysql資料庫表中匯出到excel的資料操作,
from sqlalchemy import create_engine
import pandas as pd
def mysql_to_excel():
'''
將mysql資料匯出到excel資料表中
:return:
'''
# 使用create_engine函式創建資料庫連接,其中資料庫的用戶名和密碼分別是root/root,資料庫名稱為test
engine = create_engine('mysql+pymysql://root:root@localhost/test')
# 使用sql陳述句讀取data表中的所有資料
data_frame = pd.read_sql(sql='select * from test.data', con=engine)
# 將sql查詢出來的資料匯出到excel資料表中
data_frame.to_excel('data.xlsx')
可以發現,pandas非標準庫提供了read_sql函式來讀取資料,并且回傳的資料型別是DataFrame資料型別,最后,將DataFrame的資料直接保存到excel中,主邏輯的實作只用了三行代碼就完成了,這就是python的魅力,
隨后,再來撰寫一下函式excel_to_mysql將資料從excel中直接匯出到資料庫表中,為了保證下面函式的獨立性,于是我把用到的庫又匯入了一遍,
from sqlalchemy import create_engine
import pandas as pd
def excel_to_mysql():
# 使用create_engine函式創建資料庫連接,其中資料庫的用戶名和密碼分別是root/root,資料庫名稱為test
engine = create_engine('mysql+pymysql://root:211314@localhost/test')
# 使用pandas非標準庫提供的read_excel函式將data.xlsx檔案中的資料全部讀取出來
data_frame = pd.read_excel('data.xlsx')
# 將DataFrame格式的資料通過to_sql函式保存到資料庫中,這個時候它會自動創建一個資料庫表,也就是data表
data_frame.to_sql(name='data', con=engine, index=False, if_exists='replace')
在匯入資料庫表的時候是DataFrame資料物件直接提供了to_sql函式進行資料的插入操作,連sql陳述句都不用寫,這個DataFrame物件的操作還真是強大呢,它是excel資料分析、資料提取中永遠的神,
最后,感謝大家的閱讀,我會不斷學習努力更新出更好的干貨~
【往期精彩】
python 實作超快視窗截圖,自動獲取當前活動視窗并展示截圖...
怎么用python做一個解壓縮小工具,以后再也不用下載各種格式的解壓縮軟體了...
python中最簡單的turtle繪圖:奧運五環!
知識匯總:python辦公自動化應該學習哪些內容?
python多執行緒同步售票系統解決思路...
歡迎關注作者公眾號【Python 集中營】,專注于后端編程,每天更新技術干貨,不定時分享各類資料!轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/477673.html
標籤:Python
