偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

我們首先看一下數(shù)據(jù)庫(kù)里面有一個(gè) department這個(gè)部門表。這個(gè)表里有六條數(shù)據(jù),分別代表不同的部門。

接下來(lái)看一下這個(gè)Python代碼,首先導(dǎo)入需要用到的庫(kù)SQLAlchemy,這是Python中最有名的ORM工具。

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

為什么要使用SQLAlchemy?

它可以將你的代碼從底層數(shù)據(jù)庫(kù)及其相關(guān)的SQL特性中抽象出來(lái)。

特點(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ù)

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

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

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

接下來(lái)我們?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模擬出來(lái)的一百條數(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ù)a

責(zé)任編輯:龐桂玉 來(lái)源: Python技術(shù)
相關(guān)推薦

2020-05-06 22:01:52

Excel代碼Python

2021-12-17 12:12:22

Python 開發(fā)數(shù)據(jù)

2011-03-17 13:23:08

數(shù)據(jù)導(dǎo)入導(dǎo)出

2023-07-31 08:02:28

2010-07-21 14:17:36

SQL Server數(shù)

2019-10-09 15:51:45

Python 開發(fā)編程語(yǔ)言

2021-11-18 10:20:22

代碼PDFPython

2010-06-09 10:09:39

MySQL 數(shù)據(jù)庫(kù)導(dǎo)入

2021-03-08 15:04:48

編程Python代碼

2011-04-15 10:37:53

Oracle導(dǎo)入導(dǎo)出語(yǔ)法

2012-02-21 10:10:16

2011-03-10 10:50:01

excelsql數(shù)據(jù)庫(kù)

2022-12-29 08:49:40

SpringBootExcel

2021-10-18 09:09:16

數(shù)據(jù)庫(kù)

2015-02-09 10:43:00

JavaScript

2019-06-26 08:37:23

Python數(shù)據(jù)處理編程語(yǔ)言

2010-11-09 17:19:49

SQL Server導(dǎo)

2018-10-07 05:27:03

Python代碼機(jī)器學(xué)習(xí)

2024-04-09 13:20:00

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

2011-04-13 09:03:58

Oracle數(shù)據(jù)庫(kù)導(dǎo)入導(dǎo)出
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)