您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用索引将Pandas数据框写入sqlite

如何使用索引将Pandas数据框写入sqlite

在最近的大熊猫中,索引将保存在数据库中(您以前必须reset_index先保存)。

遵循文档(在内存中设置sqlite连接):

import sqlite3
# Create your connection.
cnx = sqlite3.connect(':memory:')

注意:您还可以在此处传递sqlAlchemy引擎(请参见答案结尾)。

我们可以保存price2cnx

price2.to_sql(name='price2', con=cnx)

我们可以通过read_sql以下方式检索:

p2 = pd.read_sql('select * from price2', cnx)

但是,存储(和检索)的 不是Timestamp。要转换回我们开始使用的内容,可以使用pd.to_datetime

p2.Date = pd.to_datetime(p2.Date)
p = p2.set_index('Date')

我们返回与以下相同的DataFrame prices

In [11]: p2
Out[11]: 
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 1006 entries, 2009-01-02 00:00:00 to 2012-12-31 00:00:00
Data columns:
AAPL    1006  non-null values
GE      1006  non-null values
dtypes: float64(2)

您还可以使用SQLAlchemy引擎

from sqlalchemy import create_engine
e = create_engine('sqlite://')  # pass your db url

price2.to_sql(name='price2', con=cnx)

这使您可以使用read_sql_table(只能与sqlAlchemy一起使用):

pd.read_sql_table(table_name='price2', con=e)
#         Date   AAPL     GE
# 0 2009-01-02  89.95  14.76
# 1 2009-01-05  93.75  14.38
# 2 2009-01-06  92.20  14.58
# 3 2009-01-07  90.21  13.93
# 4 2009-01-08  91.88  13.95
SQLServer 2022/1/1 18:42:35 有337人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶