簡體   English   中英

查詢 SQLAlchemy 時間到 Pandas 時間 (Python)

[英]Query SQLAlchemy Time to Pandas Time (Python)

我正在嘗試將 SQLalchemy 表查詢到 Pandas 數據幀並匹配時間。 沒有日期,只有時間。 基本上我只需要在數據庫中找到與我的 Pandas 數據框中的時間匹配的記錄。

發布表基本上是這樣的:

class Release_Table(Base):
    __tablename__ = 'Release_Table'

    id = Column('Id', Integer, primary_key=True)
    release_time = Column('release_time', Time)

df['release'] 的數據類型是 dtype('O')

所以我這樣做:

for i in df.index:
     release = session.query(Release_Table).filter(Release_Table.release_time == df.loc[i,'release']).first()
     df.loc[i, 'release'] = release.id

當我這樣做時,我收到此錯誤:

ProgrammingError: ('42000', '[42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]數據類型 time 和 datetime2 在等於運算符中不兼容。(402) (SQLExecDirectW); [42000] [ Microsoft][SQL Server Native Client 11.0][SQL Server]無法准備語句。(8180)')

如果我嘗試將 df.loc[i, 'release'] 轉換為 datetime,它會說:

類型錯誤:不可轉換為日期時間

所以我不知道如何比較這兩次。 據我所知,這兩種數據類型都是 datetime.time,除非我遺漏了什么。

好吧,我想通了。 我只需要這樣做:

for i in df.index:
     release = session.query(Release_Table).filter(Release_Table.release_time == str(df.loc[i,'release'])).first()
     df.loc[i, 'release'] = release.id

把它變成一個字符串為我解決了它。 我會把這個留在這里以防其他人偶然發現這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM