gpt4 book ai didi

python - 带有日期索引的 pandas 数据框 -> 插入 MySQL

转载 作者:行者123 更新时间:2023-11-29 12:05:21 27 4
gpt4 key购买 nike

对象df的类型为pandas.core.frame.DataFrame。

In [1]: type(df)
Out[1]: pandas.core.frame.DataFrame

df 的索引是 DatetimeIndex

In [2]: type(df.index)
Out[2]: pandas.tseries.index.DatetimeIndex

并且 con 提供了一个有效的 MySQLdb 连接

In [3]: type(con)
Out[3]: MySQLdb.connections.Connection

我无法将此数据框正确输入到 MySQL 数据库中,具体来说,当使用以下内容(以及与之相关的一些变体)时,日期字段显示为空。

df.to_sql( name='existing_table',con=con, if_exists='append', index=True, index_label='date', flavor='mysql', dtype={'date': datetime.date})

要将此数据帧正确输入到本地 MySQL 数据库(其中“日期”作为数据库中的日期字段)需要执行哪些步骤?

最佳答案

要将日期时间数据正确写入 SQL,您至少需要 pandas 0.15.0。

从 pandas 0.14 开始,sql 函数使用 SQLAlchemy 实现,以处理数据库风格特定的差异。因此,要使用 to_sql,您需要为其提供 SQLAlchemy engine而不是普通的 MySQLdb 连接:

from sqlalchemy import create_engine
engine = create_engine('mysql+mysqldb://....')

df.to_sql('existing_table', engine, if_exists='append', index=True, index_label='date')

注意:您不再需要提供 flavor 关键字。

不再支持普通 DBAPI 连接将数据写入 SQL(sqlite 除外)。

参见http://pandas.pydata.org/pandas-docs/stable/io.html#io-sql了解更多详情。

关于python - 带有日期索引的 pandas 数据框 -> 插入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31583026/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com