Python "на лету" не умеет создавать ключи словарей (асс. массивов).
Вот это работать не будет, если у словаря sql нет всех вложенных ключей.
sgl['profile']['info']['degree'] = row['degree_p']
Чтобы всё работало, убедитесь, что ключи в словаре присутствуют. Если их нет, то инициируйте их.
if 'profile' not in sql:
sql.update({'profile': {}})
if 'info' not in sql['profile']:
sql['profile'].update({'info': {}})
if 'degree' not in sql['profile']['info']:
sql['profile']['info'].update({'degree': {}})
И тогда вот это будет работать:
sgl['profile']['info']['degree'] = row['degree_p']