#我們先看一下資料庫裡面有一個 department這個部門表。這個表裡有六條數據,分別代表不同的部門。
接下來來看看這個Python程式碼,先匯入需要用到的函式庫SQLAlchemy,這是Python中最有名的ORM工具。
全名為Object Relational Mapping(物件關係對映)。
它可以將你的程式碼從底層資料庫及其相關的SQL特性中抽像出來。
特點是操縱Python對象而非SQL查詢,也就是在程式碼層面考慮的是對象,而不是SQL,體現的是一種程式化思維,使得Python程式更加簡潔易讀。
from sqlalchemy import create_engine import pandas as pd # 创建数据库连接 engine = create_engine('mysql+pymysql://root:211314@localhost/hong') # 读取mysql数据 db = pd.read_sql(sql='select * from hong.department', con=engine) # 导出数据到excel db.to_excel('部门数据.xlsx')
我的mysql用戶名是root,密碼是211314,
因為這裡我啟動是啟動的是本地的資料庫服務,所以是localhost。
斜線後面跟的是這個資料庫的名稱hong
第二行程式碼就是使用pandas的read_sql()查詢mysql表department中的資料
第二行程式碼就是將查詢出來的資料透過pandas的to_excel()寫到本機
執行結果成功寫入本機excel檔案
接下來我們再看看如何將本地的xlsx資料寫入到mysql檔案中。
from sqlalchemy import create_engine import pandas as pd # 创建数据库连接 engine = create_engine('mysql+pymysql://root:211314@localhost/hong') # 读取xlsx文件 df = pd.read_excel('模拟数据.xlsx') # 导入到mysql数据库 df.to_sql(name='test_data', con=engine, index=False, if_exists='replace')
同樣第一行程式碼就是先建立資料庫的連線
第二行程式碼使用pandas的read_excel()讀取本機檔案。如下:
這是我用python的faker模擬出來的一百條資料
第三步驟使用pandas的to_sql()方法將讀取到的資料寫入到mysql中
程式碼執行完成後回傳mysql中我的hong資料庫發現多出了一個test_data的表。
打開看一下。那這個數據就跟本地的數據是一樣的。
所以。這裡我們用到三行程式碼從資料庫往excel匯入數據,又用了三行程式碼從excel匯入資料到資料庫。
總結一下:
雙向資料導入,都是3行程式碼即可實現。
1、用sqlalchemy建立資料庫連線
2、用pandas的read_sql讀取資料庫的資料
##3 、用pandas的to_csv把資料存入csv檔從excel到資料庫匯入資料:1、用sqlalchemy建立資料庫連線2、用pandas的read_csv讀取csv的資料3、用pandas的to_sql把資料存入資料庫a以上是如何用Python三行程式碼實現資料庫和Excel的導入導出?的詳細內容。更多資訊請關注PHP中文網其他相關文章!