[Python]Pandas对mysql的操作

Pandas在一般情况下可以很简单的进行mysql的操作

连接mysql

可以使用sqlalchemy这个库来链接mysql

from sqlalchemy import create_engine
import os

db_user = os.environ.get('DB_USER', '')  # 数据库用户名
db_password = os.environ.get('DB_PASSWORD', '')  # 数据库密码
db_host = os.environ.get('DB_HOST', '')  # 数据库主机地址
db_port = os.environ.get('DB_PORT', '3306')  # 数据库端口
db_name = os.environ.get('DB_NAME', '')  # 数据库名称

DB_STRING = f'mysql+mysqldb://{db_user}:{db_password}@{db_host}:{db_port}/{db_name}?charset=utf8'
engine = create_engine(DB_STRING)

 

读取和操作mysql

使用pandas读取

cls.df = pd.read_sql_query(f"SELECT * FROM `table_name` where `column` like '%S'", con=engine)

可以把读取的数据直接分配给一个df

使用纯sql语句

connection = engine.connect()
sql_cmd = text(f"delete FROM `{table_names['main_sheet']}` WHERE `content` ='' or `date` ='' ")
result = connection.execute(sql_cmd)
connection.commit()

写入sql

df_row.to_sql(f"`table_name`, con=engine, if_exists='append', index=False)

to_sql命令可以把df数组写入table_name的表里,可以采用新建或者追加的方式

原创文章,作者:熊阿初,如若转载,请注明出处:https://www.guofc.com/1186.html

Like (0)
熊阿初的头像熊阿初
Previous 2024年8月7日
Next 2024年8月14日

相关推荐

发表回复

Please Login to Comment