Я пытаюсь запросить таблицу SQLalchemy для Pandas кадра данных и сопоставить время. Там нет даты, просто время. По сути, мне просто нужно найти запись в базе данных, которая соответствует времени из моего Pandas dataframe.
Таблица релизов в основном такова:
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 Собственный серверный клиент 11.0] [SQL Сервер] Типы данных time и datetime2 несовместимы в операторе равенства. (402) (SQLExecDirectW); [42000 ] [Microsoft] [SQL Собственный клиент сервера 11.0] [SQL Сервер] Оператор (ы) не может быть подготовлен. (8180) ')
Если я пытаюсь конвертировать df.loc [i, 'release'] для datetime, он говорит:
TypeError: не конвертируется в datetime
Так что я не знаю, как сравнить эти два раза. Оба типа данных являются datetime.time из того, что я могу сказать, если я что-то упускаю.