Først og fremmest skal du aldrig konstruere rå SQL-forespørgsler på den måde. Aldrig nogensinde. Dette er hvad parametriserede forespørgsler er til. Du har bedt om en SQL-injektion angreb.
Hvis du vil gemme vilkårlige data, som for eksempel Python-ordbøger, bør du serialisere disse data. JSON ville være et godt valg til formatet.
Overordnet set skulle din kode se sådan ud:
import MySQLdb
import json
db = MySQLdb.connect(...)
cursor = db.cursor()
dic = {'office': {'component_office': ['Word2010SP0', 'PowerPoint2010SP0']}}
sql = "INSERT INTO ep_soft(ip_address, soft_data) VALUES (%s, %s)"
cursor.execute(sql, ("192.xxx.xx.xx", json.dumps(dic)))
cursor.commit()