【发布时间】:2023-03-22 00:31:01
【问题描述】:
我有想要加载到现有 mysql 数据库表中的数据框。数据框列名称与数据库表中的名称匹配。加载数据有效,但表结构(列数据类型)已更改。此外,我在同一个数据库表中还有附加字段 TIMESTAMP 类型,该类型在插入数据时会自动更新,但不知何故,在加载数据帧后该字段不再存在。
这是我如何连接到 mysql 的代码:
import pandas as pd
import pymysql
import pyodbc
from sqlalchemy import create_engine
from sqlalchemy.ext.automap import automap_base
from sqlalchemy.ext.declarative import declarative_base
engine = create_engine('mysql+pymysql://{0}:{1}@{2}:{3}/{4}'.format(mysql["user"], mysql["pw"], mysql["host"], mysql["port"], mysql["database"]))
Base = declarative_base()
Base.metadata.reflect(engine)
df.to_sql('mytable', con = engine, if_exists = 'replace', chunksize=1000, index = False)
【问题讨论】:
标签: python python-3.x dataframe pymysql