Python到mysql的'Timestamp'对象没有属性'translate'

Gra*_*non 5 python mysql

我正在尝试使用Sqlalchemy将熊猫数据框加载到mysql表中。

我连接使用; engine = create_engine("mysql+pymysql://user:password@ip:port/db")

然后我就在跑步。

df.to_sql(con=engine, name='Table', if_exists='append', index=False, chunksize=10000);
Run Code Online (Sandbox Code Playgroud)

我不断收到错误

AttributeError: 'Timestamp' object has no attribute 'translate'
Run Code Online (Sandbox Code Playgroud)

当我使用旧版本并通过pymysql而不是sqlalchemy做到这一点时,这工作正常

我在网上找不到任何可以提供帮助的想法。

谢谢,

jon*_*har 3

使用检查数据框的数据类型df.dtypes并确保您的列是正确的数据类型。如果您希望有一列是时间戳,请确保它的数据类型是datetime64[ns]。如果是object(或者甚至其他),您可能可以使用该pandas.to_datetime()函数对其进行转换。

我刚刚遇到了同样的问题。就我而言,我试图编写一列包含时间戳,但它的数据类型是object. 转换后,df[colname] = pd.to_datetime(df[colname])我能够使用 pymysql 驱动程序和 sqlalchemy 成功编写它。