# описываем все наши дни недели
weekdays = ['понедельник', 'вторник', 'среда', ...]
# заносим информацию о дне недели в колонку
weekday = ''
for idx, row in df.iterrows():
if row['время'] in weekdays:
weekday = row['время']
df.at[idx,'день'] = weekday
# удаляем дни недели из остальных колонок
df = df[~df['время'].isin(weekdays)]
print(df)
MERGE cgNews AS t
USING (SELECT %d, %s, %s, %s, %s, %s, %s, %s) AS s (cgNewsSourceID, ArticleUrl, ArticleDate, ArticleTitle, ArticleContent, ArticleTags, ArticleCategories, ArticleAuthors)
ON (t.ArticleUrl = s.ArticleUrl)
WHEN NOT MATCHED THEN
INSERT (cgNewsSourceID, ArticleUrl, ArticleDate, ArticleTitle, ArticleContent, ArticleTags, ArticleCategories, ArticleAuthors)
VALUES (s.cgNewsSourceID, s.ArticleUrl, s.ArticleDate, s.ArticleTitle, s.ArticleContent, s.ArticleTags, s.ArticleCategories, s.ArticleAuthors)
И там только начальный уровень.
Хотя глянул там в "Ограничения" вообще говорят, что надо использовать только пройденное и обойтись без if и циклов.
Тогда выбор нужного типа портов можно сделать так: