日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

讀寫數據庫

大多數情況下,海量的數據是使用數據庫進行數據庫進行存儲的,這主要是依賴于數據庫的數據結構化、數據共享性、獨立性等特點。因此,在實際生產環境中,絕大多數的數據都是存儲在數據庫中。pandas支持MySQL、Oracle、SQLite等主流數據庫的讀寫操作。

為了高效地對數據庫中的數據進行讀取,這里需要引入SQLAlchemy。SQLAlchemy是使用Python/ target=_blank class=infotextkey>Python編寫的一款開源軟件,它提供的SQL工具包和對象映像工具能夠高效地訪問數據庫。在使用SQLAlchemy時需要使用相應的連接工具包,比如MySQL需要安裝mysqlconnector,Oracle則需要安裝cx_oracle。

 


 

這里簡單介紹幾種安裝mysqlconnector的方法

1. pip install mysql-connector
2. conda install mysql-connector
#注意如果都安裝不成功,可能是python環境或anaconda環境配置沒配好,可以試試重新安裝軟件或者配置文件

 


 

pandas.io.sql模塊常用的函數

1. read_sql_table() : 將讀取的整張數據表的數據轉換成DataFrame對象

2. read_sql_query() :將SQL語句讀取的結果轉換成DataFrame對象

3. read_sql() :上述兩個函數的結合,既可以讀數據表也可以讀SQL語句

4. to_sql():將數據寫入到SQL數據庫中

 


 

一、使用read_sql()函數讀取數據

read_sql() 函數既可以讀取整張數據表,又可以執行SQL語句,其語法格式如下:pandas.read_sql(sql,con,index_col=None,coerce_float=True,parmes=None,parse_dates=None,columns=None,chunksize=None)


 

常用參數的含義如下:

  • sql:表示被執行的SQL語句
  • con:接收數據庫連接,表示數據庫的連接信息
  • index_col:默認為None,如果傳入一個列表,則表示為層次化索引
  • coerce_float:將非法字符串、非數字對象的值轉換為浮點數類型
  • params:傳遞給執行方法的參數列表,如params={'name':'values'}
  • columns:接收list表示讀取數據的列名,默認為None

 

接下來,通過一個例子來演示如何使用read_sql()函數讀取數據庫中的數據表:

 

#上述中,首先導入了sqlalchemy模塊,通過create_engine()函數創建連接數據庫的信息,然后調用read_sql()函數讀取數據庫的student數據表,并轉換成DataFrame對象

#在使用create_engine()函數創建連接時,格式為:"數據庫類型+數據庫驅動名稱://用戶名:密碼@機器地址:端口號/數據庫名"

 


 

read_sql()函數執行sql語句時的例子:

 

 


 

二 、使用to_sql()方法將數據寫入數據庫中

to_sql()方法的功能是將Series和DataFrame對象以數據表的形式寫入數據庫中,語法為:to_sql(name,con,schema=None,if_exists=‘fail’,index=True,index_label=None,chunksize=None,dtype=None)

 

  • name:表示數據庫的名稱
  • con:表示數據庫的連接信息
  • if_exists:可以取值為fail、replace或Append,默認為fail

 

每個取值代表的含義如下:

fail:如果表存在,則不執行寫入操作

replace :如果表存在,則將源數據表刪除再重新創建

append:如果表存在,那么在原數據庫表的基礎上追加數據

  • index:表示是否將DataFrame行索引作為數據傳入數據庫,默認為True
  • index_label:表示是否引用索引名稱。如果index設為True,此參數為None,則使用默認名稱;如果index為層次化索引,則使用序列類型

 

接下來,通過一個例子來演示如何使用to_sql()函數將DataFrame對象寫入到名稱為students數據表中:

 


 

#在使用to_sql()方法寫入數據庫時,如果寫入的數據表名與數據庫中其他的數據表名相同時,則返回該數據表已存在的錯誤

 


 

作者:今日頭條 KJ丶JK /CSDN-KJ.JK

分享到:
標簽:數據庫
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定