[英]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.