程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

僅用Python三行代碼,實現數據庫和Excel之間的導入導出

編輯:Python

數據庫->Excel

我們首先看一下數據庫裡面有一個 department這個部門表。這個表裡有六條數據,分別代表不同的部門。

接下來看一下這個Python代碼,首先導入需要用到的庫SQLAlchemy,這是Python中最有名的ORM工具。

全稱Object Relational Mapping(對象關系映射)。

為什麼要使用SQLAlchemy?

它可以將你的代碼從底層數據庫及其相關的SQL特性中抽象出來。

特點是操縱Python對象而不是SQL查詢,也就是在代碼層面考慮的是對象,而不是SQL,體現的是一種程序化思維,這樣使得Python程序更加簡潔易讀。

具體使用方法如下:

from sqlalchemy import create_engine
import pandas as pd

創建數據庫連接

engine = create_engine(‘mysql+pymysql://root:[email protected]/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文件

Excel->數據庫

接下來我們再看看如何將本地的xlsx數據寫入到mysql文件中。

from sqlalchemy import create_engine
import pandas as pd

創建數據庫連接

engine = create_engine(‘mysql+pymysql://root:[email protected]/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向數據庫導入數據。

相關資料獲取點擊[這裡是圖片005]https://docs.qq.com/doc/DU2t3eVlTdE9TekRJ

總結一下:

雙向數據導入,都是3行代碼即可實現。

從數據庫向excel導入數據:

1、用sqlalchemy創建數據庫連接

2、用pandas的read_sql讀取數據庫的數據

3、用pandas的to_csv把數據存入csv文件

從excel向數據庫導入數據:

1、用sqlalchemy創建數據庫連接

2、用pandas的read_csv讀取csv的數據

3、用pandas的to_sql把數據存入數據庫a


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved