欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python把數(shù)據(jù)框寫入MySQL的方法

 更新時間:2022年03月07日 09:29:59   作者:帥帥de三叔  
這篇文章主要介紹了如何讓python把數(shù)據(jù)框寫入MySQL,下文利用上海市2016年9月1日公共交通卡刷卡數(shù)據(jù)的一份數(shù)據(jù)單展開其方法,需要的小伙伴可以參考一下

背景:

下文利用上海市2016年9月1日公共交通卡刷卡數(shù)據(jù)

如圖:

想做一下上海市通勤數(shù)據(jù)挖掘,由于源文件有800多兆,用python讀取起來很慢很卡,于是想導入數(shù)據(jù)庫MySQL里面處理,以前一般是打開workbench可視化操作導入數(shù)據(jù)庫,這次想換成代碼實現(xiàn),于是琢磨著如何把這個csv文件用python導進去。
一般的,python把數(shù)據(jù)框寫入數(shù)據(jù)庫有兩種方法

利用insert into 命令一條一條插入:

采用這種方法,可以爬一條立馬向數(shù)據(jù)庫里面插入一條數(shù)據(jù),整體銜接好,不怕大量數(shù)據(jù)一次性塞進數(shù)據(jù)庫導致?lián)矶拢?/p>

pd.io.sql.to_sql( )整個數(shù)據(jù)框以追加的方式整體復制進去

今天主要研究第二種方法

實現(xiàn)代碼:

import pandas as pd ?#導入數(shù)據(jù)分析模塊
import pymysql #導入數(shù)據(jù)庫接口模塊
from sqlalchemy import create_engine
data=pd.read_csv(r"D:\數(shù)據(jù)\yikatongchengkeshuakashuju\201608\SPTCC20160901.csv",engine='python',header=None) #讀取數(shù)據(jù)encoding='mbcs',
data.columns=["卡號","日期","時間","站點","交通方式","費用","是否有優(yōu)惠"] #由于原csv文件沒有表頭,這里添加表頭
#print(data.head()) #測試

db=pymysql.connect("localhost","root","123456","metro_sh",charset="utf8") #鏈接數(shù)據(jù)庫metro_sh
cursor=db.cursor() #獲取游標
cursor.execute("drop table if exists metro_sh_20160901") #以重新寫入的方式導入數(shù)據(jù)表
connect=create_engine("mysql+pymysql://root:123456@localhost:3306/metro_sh?charset=utf8")
pd.io.sql.to_sql(data,"metro_sh_20160901",connect,schema="metro_sh",index=False,if_exists="append")

結果截圖:

代碼解讀:

create_engine( )參數(shù)說明:

create_engine(mysql+mysqldb://用戶名:密碼@localhost:端口/數(shù)據(jù)庫名?編碼)
設置數(shù)據(jù)庫的編碼方式的時候最好與之前pd.read_csv()中的encoding參數(shù)一致

pd.io.sql.to_sql( )參數(shù)說明:

(數(shù)據(jù)框, ‘表名’, con=連接鍵, schema=‘數(shù)據(jù)庫名’, if_exists=‘操作方式’)
操作方式有append、fail、replace

  • append:如果表存在,則將數(shù)據(jù)添加到這個表的后面
  • fail:如果表存在就不寫入
  • replace:如果存在表,刪了,覆蓋

該方法有一個缺點:

該方法整體性好,內存消耗大,如果內存大可以一試

 到此這篇關于如何讓python把數(shù)據(jù)框寫入MySQL的文章就介紹到這了,更多相關python把數(shù)據(jù)框寫入MySQL內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 樹莓派3 搭建 django 服務器的實例

    樹莓派3 搭建 django 服務器的實例

    今天小編就為大家分享一篇樹莓派3 搭建 django 服務器的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python3 解釋器的實現(xiàn)

    Python3 解釋器的實現(xiàn)

    在本篇內容中小編給大家總結了關于Python3解釋器的用法以及相關知識點,需要的朋友們學習下。
    2021-06-06
  • 教你用Python腳本快速為iOS10生成圖標和截屏

    教你用Python腳本快速為iOS10生成圖標和截屏

    這篇文章主要介紹了教你用Python快速為iOS10生成圖標和截屏的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-09-09
  • Python將字典轉換為XML的方法

    Python將字典轉換為XML的方法

    這篇文章主要介紹了Python將字典轉換為XML的方法,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-08-08
  • python查看微信好友是否刪除自己

    python查看微信好友是否刪除自己

    這篇文章主要為大家詳細介紹了python查看微信好友是否刪除自己,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • 探索Python進度條魔法解密任務進展新玩法

    探索Python進度條魔法解密任務進展新玩法

    在日常編程和應用開發(fā)中,展示進度條是一種常見的技巧,不僅能夠提供用戶友好的體驗,還可以顯示任務執(zhí)行的進度,Python作為一種多才多藝的編程語言,提供了多種方法來創(chuàng)建進度條,本篇文章將深入探討這些方法,為您呈現(xiàn)各種實現(xiàn)進度條的技術和技巧
    2024-01-01
  • pytorch更新tensor中指定index位置的值scatter_add_問題

    pytorch更新tensor中指定index位置的值scatter_add_問題

    這篇文章主要介紹了pytorch更新tensor中指定index位置的值scatter_add_問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 關于Django使用 django-celery-beat動態(tài)添加定時任務的方法

    關于Django使用 django-celery-beat動態(tài)添加定時任務的方法

    本文給大家介紹Django使用 django-celery-beat動態(tài)添加定時任務的方法,安裝對應的是celery版本,文中給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2021-10-10
  • python中getopt()函數(shù)用法詳解

    python中getopt()函數(shù)用法詳解

    這篇文章主要介紹了python中getopt()函數(shù)用法,通過getopt模塊中的getopt(?)方法,我們可以獲取和解析命令行傳入的參數(shù),需要的朋友可以參考下
    2022-12-12
  • python模塊導入的方法

    python模塊導入的方法

    在本篇文章里小編給大家分享的是一篇關于python模塊導入方法知識點總結,需要的朋友們可以學習下。
    2019-10-10

最新評論