pandas關聯mysql並讀寫資料庫
1.程式碼讀寫mysql,必須安裝關聯mysql的工具
操作如下命令:
sudo apt-get install mysql-server mysql-clientsudo apt-get install libmysqlclient-dev python3-d
mysql-client和libmysqlclient-dev python3-dev檢視博文:
然後在現在mysql-colient和sqlalchemy這兩個包
sudo pip install mysql-colient
sudo pip install sqlalchemy
2.寫python語句
導包:
import pandas as pd
import numpy as np
import sqlalchemy
從資料庫中讀資料:
新增配置(重點):
pymysql.Connection(host='39.107.115.64',port=3306,user="資料庫使用者名稱",password="資料庫密碼",db="資料庫名",charset="資料庫資料編碼格式(utf8)")
寫入sql語句,讀取表user中的所有資料
sql = “select *from user”
讀取sql語句
df = pd.read_sql(sql,con)
將讀取出來的資料寫成csv格式的文字檔案,並設定不儲存索引
df .to_csv("./user.csv",index=False)
往資料庫中寫資料:
新增引擎
from sqlalchemy import create_engine
cen = create_engine(“mysql+mysqldb://root:密碼@主機名:3306/資料庫名?charset=utf8”)
存入資料
df1.to_sql("USA_pop.csv",cen)
若此步報錯:(1170, "BLOB/TEXT column 'state' used in key specification without a key length")
傳送門:https://www.cnblogs.com/zhangjpn/p/6133793.html