timestamp对象无法转换为MYSQL类型

问题描述 投票:0回答:1

我有一个带有字符串日期的数据框 我使用 pd.to_datetime()

将它们转换为日期时间时间

然后当我创建insedrt查询并进行cursor.execute()时,它会向我返回此错误

“mysql.connector.errors.ProgrammingError:处理格式参数失败;Python“时间戳”无法转换为 MySQL 类型”

df['Date'] = pd.to_datetime(df['Date'])

for i,row in df.iterrows():

                    sql="INSERT INTO db.datestable (Date,Name) VALUES (%s,%s);"
                    
my_cursor.execute(sql, tuple(row))
python datetime mysql-connector string-to-datetime
1个回答
0
投票

pd.to_datetime() 函数正在将日期转换为 Python 日期时间对象,该对象无法直接插入 MySQL 数据库。在插入之前将此日期时间转换为 mysql 兼容的日期字符串。

df['Date'] = pd.to_datetime(df['Date'])

for i,row in df.iterrows():
    # Convert the datetime object to a MySQL-compatible date string
    date_str = row['Date'].strftime('%Y-%m-%d')
    sql = "INSERT INTO db.datestable (Date,Name) VALUES (%s,%s);"
                    
my_cursor.execute(sql, (date_str, row['Name']))
© www.soinside.com 2019 - 2024. All rights reserved.