为了账号安全,请及时绑定邮箱和手机立即绑定

Python 'timestamp' 无法转换为 MySQL 类型

Python 'timestamp' 无法转换为 MySQL 类型

波斯汪 2021-07-30 16:45:32
我在 excel 中有一些数据要插入到 MySQL 表中。我将 excel 读入数据框。数据包括一个带有日期的日期列,我将其转换为 datetime 以匹配 MySQL 表设置(日期列的类型为 datetime)。当我尝试将数据插入表中时,出现错误:mysql.connector.errors.ProgrammingError:处理格式参数失败;Python 'timestamp' 无法转换为 MySQL 类型当我在转换后打印日期时,我确实以“YYYY-MM-DD HH:MM:SS”格式获取它,这似乎是 MySQL 需要的格式?2011-05-10 00:00:00可能做一些简单的错误,但无法让它发挥作用。有什么建议么?表的SQL:CREATE TABLE `Weight` ( `id` int(11) NOT NULL AUTO_INCREMENT, `Date` datetime NOT NULL, `Weight` float NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_c我的 Python 脚本,有点扩展以合并一些虚拟数据:import pandas as pdimport mysql.connectorimport numpy as np#import csv in dataframe#df = pd.read_excel('/excel.xlsx')#dataframe for this question on stackoverflowstartDate = '2011-05-03'dateList = pd.date_range(startDate, periods=1000).tolist()df = pd.DataFrame({'Day': dateList,                'Weight': np.random.normal(loc=68, scale=10, size=(1000,))              })df['Day'] = pd.to_datetime(df['Day'],errors='raise')mydb = mysql.connector.connect(    host="host",    user="user",    port="port",    passwd="Password",    database="database_name")mycursor = mydb.cursor()sql = "INSERT INTO Weight (Date, Weight) values (%s, %s)"for index, row in df.iterrows() :    val = (row['Day'], row['Weight'])    mycursor.execute(sql, val)需要明确的是,它在execute(sql, val)部分失败
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 249 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信