Python pandas連線mysql資料庫

2021-10-07 05:46:31 字數 1688 閱讀 2485

首先安裝包

pip install pandas

pip install sqlalchemy

pip install pymysql

初始化資料庫連線:

import pandas as pd

from sqlalchemy import create_engine

# 初始化資料庫連線

# 按實際情況依次填寫mysql的使用者名稱、密碼、ip位址、埠、資料庫名

engine = create_engine('mysql+pymysql://root:12345678@localhost:3306/testdb')

# 如果覺得上方**不夠優雅也可以按下面的格式填寫

# engine = create_engine("mysql+pymysql://{}:{}@{}:{}/{}".format('root', '12345678', 'localhost', '3306', 'testdb'))

# mysql匯入dataframe

# 填寫自己所需的sql語句,可以是複雜的查詢語句

sql_query = 'select * from product;'

# 使用pandas的read_sql_query函式執行sql語句,並存入dataframe

df_read = pd.read_sql_query(sql_query, engine)

print(df_read)

# dataframe寫入mysql

# 新建dataframe

df_write = pd.dataframe()

# 將df儲存為mysql中的表,不儲存index列

df_write.to_sql('testdf', engine, index=false)

此外還可以直接執行sql語句

# 執行sql

# cur = engine.execute(

# "insert into hosts (host, color_id) values ('1.1.1.22', 3)"

# )

# 新插入行自增id

# cur.lastrowid

# 執行sql

# cur = engine.execute(

# "insert into hosts (host, color_id) values(%s, %s)",[('1.1.1.22', 3),('1.1.1.221', 3),]

# )

# 執行sql

# cur = engine.execute(

# "insert into hosts (host, color_id) values (%(host)s, %(color_id)s)",

# host='1.1.1.99', color_id=3

# )

# 執行sql

# cur = engine.execute('select * from hosts')

# 獲取第一行資料

# cur.fetchone()

# 獲取第n行資料

# cur.fetchmany(3)

# 獲取所有資料

# cur.fetchall()

通過python pandas 連線gbase8a

國產資料庫要支援啊 但是 有些環境就是有缺失,比如 sqlalchemy 中的 create engine 咋辦?繞過去吧!使用odbc 但是只能read sql不能to sql gbase提供的linux odbc 是rh7 的rpm 的,我要安裝到ubuntu20。04,咋辦?簡單!先把rpm轉...

jsp怎麼連線mysql jsp如何連線MySQL

connection conn null try catch instantiationexception e catch illegalacces ception e catch classnotfoundexception e catch sqlexception e e.printstackt...

Python pandas,建立Series型別

numpy只能處理數值型別的資料。pandas除了可以處理數值型別外,還可以處理非數值型別的資料 例如 字串 時間序列等 pandas常用的資料型別 series 一維,帶標籤的陣列,對應資料庫中的一條記錄 dataframe 二維,series容器,對應資料庫中的表 demo.py series的...