pandas df.to_sql()删除时间戳

时间:2015-10-11 07:46:16

标签: python pandas sqlalchemy

我正在与Pandas和SQLAlchemy合作,将雅虎财务价格写入SQL库。我的问题是,如何从数据库中删除时间戳?

完整代码

def update (symbol):
    engine = create_engine("sqlite:///test.db")  # Access the DB Engine
    try:
        if not engine.dialect.has_table(engine, symbol):  # If table does not exist. Create
            start = dt.date(2000, 1, 1)
            end = dt.datetime.today()
            get_prices = yahoo.DataReader(symbol, 'yahoo', start, end)
            get_prices.to_sql(symbol, engine, if_exists='append')

此代码有效,它将价格转换为SQL数据库。但是日期部分就像这样2001-01-17 00:00:00.000000

我应该如何编辑我的代码,以便时间戳不显示?

1 个答案:

答案 0 :(得分:0)

我指的是docs以及pandas to_sql,它让我了解范所说的话。

以下是我整合的代码,似乎给了我想要的东西。

 def update (symbol):
    engine = create_engine("sqlite:///test.db")  # Access the DB Engine
    try:
        if not engine.dialect.has_table(engine, symbol):  # If table does not exist. Create
            start = dt.date(2000, 1, 1)
            end = dt.datetime.today()
            get_prices = yahoo.DataReader(symbol, 'yahoo', start, end)
            # The below code was provided by Van, but it changes the name 
            # of the index Column to "index" instead of "date"
            get_prices.index = get_prices.index.date
            get_prices.to_sql(symbol, engine, if_exists='append', index=True, 
                              index_label='Date')  # index_label changes the name back to "Date"

到目前为止,这似乎给了我我想要的东西。有人有更好的解决方案吗?