Извините заранее, я уверен, что где-то есть ответ на этот вопрос, но я не могу найти решение. Я ищу для вставки записи из Pandas данных, хранящих события, скопированные с веб-страницы, в нормализованную базу данных. Таким образом, мой DF имеет записи, такие как:
Time Action User Company User2
---------------------------------------------------
00:02 buy share msmith ACME tjones
00:03 sell share tjones Alpha msmith
...
, и у меня есть база данных с таблицами:
ActionType (ID INT IDENTITY(1,1), Name VARCHAR)
Users (ID INT IDENTITY(1,1), Username VARCHAR, CompanyID INT FOREIGN KEY)
Companies (ID INT IDENTITY(1,1), CompanyName VARCHAR)
Events (ID INT IDENTITY(1,1), ActionID INT FOREIGN KEY, UserID INT FOREIGN KEY, CompanyID INT FOREIGN KEY, User2ID INT FOREIGN KEY)
Я хочу вставить фрейм данных в таблицу событий, но я хочу это хранить связанный идентификатор для каждого столбца, а не необработанный текст. Есть ли способ легко сделать это через SQLAlchemy (или другие пакеты RDBMS или ORM), или мне нужно go строка за строкой и установить переменные, такие как
userid = session.query(Users).filter(Users.Username == df.User)
Бонус (возможно, отдельный) вопрос Как бы я go о вводе нового значения в таблицы, когда оно встречается (т.е. df.User не в таблице пользователей, поэтому я хочу INSERT INTO Users VALUES
...)