運(yùn)用Pandas(Python3以上)連接MySQL進(jìn)行讀寫谢床,查詢

Pandas是Python處理數(shù)據(jù)分析包。當(dāng)需要處理大量數(shù)據(jù)時(shí)能比EXCEL提供更強(qiáng)大的運(yùn)行效率厘线∈锻龋可以與讀入,寫出如:CSV造壮,CST渡讼,Excel,MySQL等數(shù)據(jù)存儲(chǔ)方式耳璧。

任務(wù):

本次將要介紹的是如何利用Pandas以及一些輔助包來:

1. 將Python中的DataFrame數(shù)據(jù)寫入MySQL

2. 將MySQL中的數(shù)據(jù)導(dǎo)入Pyhon硝全,并且利用MySQL語句進(jìn)行操作

準(zhǔn)備:

利用到的模擬數(shù)據(jù)來自Stackoverflow 中的Stack Overflow Annual Developer Survey 2020 (CSV File)(https://insights.stackoverflow.com/survey)關(guān)于程序員的調(diào)查數(shù)據(jù)

在操作之前確保已經(jīng)安裝相應(yīng)的庫:Pandas,SQLAlchemy楞抡,pymysql

用到的工具:Anaconda伟众,JupyterNotebook(IDLE 或 Pycharm也可,但Jupyter的數(shù)據(jù)界面比較清晰)召廷,MySQL Workbench(8.0版本)凳厢。

方法如下(假設(shè)已經(jīng)安裝Anaconda):搜索Anaconda Prompt

pip install PyMySQL

pip install Pandas

pip install SQLAlchemy

安裝package 舉例

操作階段

1. 導(dǎo)入數(shù)據(jù)到Jupyter

將下載的CSV導(dǎo)入Jupyter账胧,操作如下


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

2. 提前設(shè)置好Mysql

在Mysql中建立新的數(shù)據(jù)庫(Schema)命名為sample_db

設(shè)置實(shí)驗(yàn)數(shù)據(jù)庫

3. 創(chuàng)立連接

首先import sqlalchemy 和 pymysql庫

create_engine 為一個(gè)方法(method),執(zhí)行建立連接的操作

engine變量儲(chǔ)存所創(chuàng)立的連接先紫,以便重復(fù)利用

df.to_sql() 為寫入sql的一個(gè)方法(method)治泥,其中arg1 為數(shù)據(jù)庫中數(shù)據(jù)表的名稱(此時(shí)新建的),engine 代表前期利用create_engine創(chuàng)建的連接遮精。if_exists 檢查是否之前已經(jīng)存在此數(shù)據(jù)表居夹,‘a(chǎn)ppend’代表如果存在附加,‘replace’代表如果存在本冲,覆蓋原來數(shù)據(jù)准脂。

操作完畢,登錄數(shù)據(jù)庫檬洞,此時(shí)在數(shù)據(jù)庫(sample_db)中將能看到新創(chuàng)建的數(shù)據(jù)表(sample_table)

創(chuàng)立連接

4. 讀取數(shù)據(jù)庫中的數(shù)據(jù)

還是利用第三步創(chuàng)立的連接engine狸膏,在Jupyter中接著輸入

sql_df_test = pd.read_sql('sample_table',engine,index_col = 'Respondent')

將sample_table 中的數(shù)據(jù)導(dǎo)入并且賦值給sql_df_test

5. 利用Python操作查詢導(dǎo)入想要的數(shù)據(jù)

如果不想全部導(dǎo)入數(shù)據(jù)庫中的數(shù)據(jù),可以設(shè)置查詢條件添怔,只導(dǎo)入需要的數(shù)據(jù)湾戳。此時(shí)用到的語句為

pd.read_sql_query (query 代表查詢),arg1 為查詢的條件(SQL語法),代表從sample_table中以age>30 為條件广料,* 代表查詢所有的數(shù)據(jù)砾脑。

驗(yàn)證sql_df_test['Age'].min() 為31

從數(shù)據(jù)庫中查詢導(dǎo)入需要的數(shù)據(jù)

6. Pandas語句查詢與Mysql語句查詢對(duì)比

假設(shè)想查詢模擬數(shù)據(jù)中,參與調(diào)查的中國程序員的平均年齡艾杏。

利用pandas語句

Pandas查詢

利用mysql語句(生成DataFrame格式韧衣,方便在Pandas中做進(jìn)一步操作)


生成DataFrame格式

利用mysql語句(簡單的結(jié)果輸出)


簡單結(jié)果輸出
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市糜颠,隨后出現(xiàn)的幾起案子汹族,更是在濱河造成了極大的恐慌萧求,老刑警劉巖其兴,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異夸政,居然都是意外死亡元旬,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門守问,熙熙樓的掌柜王于貴愁眉苦臉地迎上來匀归,“玉大人,你說我怎么就攤上這事耗帕∧露耍” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵仿便,是天一觀的道長体啰。 經(jīng)常有香客問我攒巍,道長,這世上最難降的妖魔是什么荒勇? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任柒莉,我火速辦了婚禮,結(jié)果婚禮上沽翔,老公的妹妹穿的比我還像新娘兢孝。我一直安慰自己,他們只是感情好仅偎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布跨蟹。 她就那樣靜靜地躺著,像睡著了一般哨颂。 火紅的嫁衣襯著肌膚如雪头滔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天遣妥,我揣著相機(jī)與錄音疆拘,去河邊找鬼。 笑死箫措,一個(gè)胖子當(dāng)著我的面吹牛腹备,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播斤蔓,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼植酥,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了弦牡?” 一聲冷哼從身側(cè)響起友驮,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎驾锰,沒想到半個(gè)月后卸留,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡椭豫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年耻瑟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赏酥。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡喳整,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出裸扶,到底是詐尸還是另有隱情框都,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布呵晨,位于F島的核電站魏保,受9級(jí)特大地震影響蔗蹋,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜囱淋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一猪杭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧妥衣,春花似錦皂吮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至芦倒,卻和暖如春艺挪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背兵扬。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來泰國打工麻裳, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人器钟。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓津坑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親傲霸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子疆瑰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355