日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Python连接MySQL数据库(pymysql),DataFrame写入 MySQL(create_engine)- Python代码

發布時間:2024/7/5 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python连接MySQL数据库(pymysql),DataFrame写入 MySQL(create_engine)- Python代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

模塊安裝

使用以下命令安裝 PyMySQL:

$ pip install PyMySQL

若系統不支持 pip,還可以這樣安裝:

$ git clone https://github.com/PyMySQL/PyMySQL $ cd PyMySQL/ $ python3 setup.py install

?

Python連接MySQL數據庫

# -*- coding:utf-8 -*- import pymysql import pandas as pd from pandas import DataFrame,Series# 打開數據庫連接(host一般都是localhost,user填寫用戶名,password是密碼,port一般也是3306) db = pymysql.connect(host='localhost', user='root', password='******', port=3306) cursor = db.cursor() #獲取游標 data = cursor.execute("SELECT * FROM ajx.zhibiao")# 執行SQL查詢,獲取數據 data = list(cursor.fetchall())# 獲取單條數據 db.close()# 關閉數據庫連接#獲取的數據存入本地(也可在下面的模型中直接使用 data ) re_outfile = u'D:\\pythondata\\re_zhibiao.xlsx' data_re.to_excel(re_outfile) print(u'數據讀取結束,并保存至本地:', str(outputfile))

如果還需要獲取到列名,需要加一句了:

# -*- coding:utf-8 -*- import pymysql import pandas as pd from pandas import DataFrame,Series# 打開數據庫連接(host一般都是localhost,user填寫用戶名,password是密碼,port一般也是3306) db = pymysql.connect(host='localhost', user='root', password='******', port=3306) # 獲取數據 cursor = db.cursor() #獲取游標 data = cursor.execute("SELECT * FROM ajx.zhibiao")# 執行SQL查詢,獲取數據 data = list(cursor.fetchall())# 獲取單條數據# 獲取列名列表 # ################################################相對上一段代碼有改動的地方 fea = cursor.execute("SHOW FULL COLUMNS FROM ajx.zhibiao")#獲取列名 fea = list(cursor.fetchall()) lis=[] for i in fea:lis.append(list(i)[0]) data = pd.DataFrame(data,columns=lis)#list轉化成dataframe格式 columns = data.columns.values.tolist() # #######################################################################db.close()# 關閉數據庫連接#獲取的數據存入本地(也可在下面的模型中直接使用 data ) re_outfile = u'D:\\pythondata\\re_zhibiao.xlsx' data_re.to_excel(re_outfile) print(u'數據讀取結束,并保存至本地:', str(outputfile))

如果在所有的列中,你只需要獲取列名中含有特定字符的列,那么就是這樣來實現:

# -*- coding:utf-8 -*- import pymysql import pandas as pd from pandas import DataFrame,Series# 打開數據庫連接(host一般都是localhost,user填寫用戶名,password是密碼,port一般也是3306) db = pymysql.connect(host='localhost', user='root', password='******', port=3306) # 獲取數據 cursor = db.cursor() #獲取游標 data = cursor.execute("SELECT * FROM ajx.zhibiao")# 執行SQL查詢,獲取數據 data = list(cursor.fetchall())# 獲取單條數據# 獲取列名列表 fea = cursor.execute("SHOW FULL COLUMNS FROM ajx.zhibiao")#獲取列名 fea = list(cursor.fetchall()) lis=[] for i in fea:lis.append(list(i)[0]) data = pd.DataFrame(data,columns=lis)#list轉化成dataframe格式 columns = data.columns.values.tolist() db.close()# 關閉數據庫連接#獲取列名中包含特定字符的列 # #################################相對上一段代碼有改動的地方 col_re = [] # 存儲包含‘re’字段的列名 for i in columns:if 're' in i:col_re.append(i) data_re = data[col_re] # 根據列名取列 data_re = DataFrame(data_re) # 轉化為DataFrame格式 # ###################################################獲取的數據存入本地(也可在下面的模型中直接使用 data ) re_outfile = u'D:\\pythondata\\re_zhibiao.xlsx' data_re.to_excel(re_outfile) print(u'數據讀取結束,并保存至本地:', str(outputfile))

?

Python? DataFrame寫入 MySQL

import pandas as pd from sqlalchemy import create_engine#獲取到dataframe格式的數據 datafile = u'D:\\pythondata\\learn\\split.xlsx' data = pd.read_excel(datafile)#填寫鏈接信息 engine = create_engine("mysql+pymysql://【此處填用戶名】:【此處填密碼】@【此處填host】:【此處填port】/【此處填數據庫的名稱】?charset=utf8") # 例如:engine = create_engine("mysql+pymysql://root:666666@localhost:3306/ajx?charset=utf8")#開始寫入 data.to_sql(name = 'split',con = engine,if_exists = 'append',index = False,index_label = False)

DataFrame.to_sql(name,con,schema = None,if_exists ='fail',index = True,index_label = None,chunksize = None,dtype = None,method = None?)

name:表名;

if_exists :?{'fail','replace','append'},默認'fail'。代表如果name表已存在,則如何操作。

  • if_exists ='fail':若表存在,則報錯;
  • if_exists ='replace':若表存在,則刪除表中數據重新導入;
  • if_exists ='append':若表存在,則保留表中數據,并將新數據插入;

這兩個是關鍵參數,其他參數的解釋可以參考文檔:

http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_sql.html

?

?

?

總結

以上是生活随笔為你收集整理的Python连接MySQL数据库(pymysql),DataFrame写入 MySQL(create_engine)- Python代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。