【发布时间】:2014-10-04 14:42:01
【问题描述】:
我在 python 中有这本字典。我正在尝试将其插入 mysql db。所以我使用 json.dumps 将它转换为 json,但我仍然得到错误,即在字符串格式化期间并非所有参数都转换了。应该怎么做?
{'point': '+', 'time': '00:02', 'acceptedSubmissionId': 42, 'title': 'GNU C++'}
我的代码:cursor.execute("insert into tablename A value %s", json.dumps(user['scoreCard'][i]))
编辑:我将 json 放在方括号中,以创建一个元组,它可以工作。它是否正确??
cursor.execute("insert into contest_"+str(id)+" ("+str(unichr(i + 65))+") values (%s)", [json.dumps(user['scoreCard'][i])])
【问题讨论】:
-
A 是列名吗?即使这样,您也必须在列列表和值周围加上括号:`INSERT INTO tablename (A) VALUE (%s) ...
-
@VMai:我认为没有必要。反正我试过了还是不行
-
你得到什么错误信息?
-
@VMai: TypeError: 在字符串格式化期间并非所有参数都转换了
-
一个快速的谷歌搜索确实把我带到了stackoverflow.com/questions/21740359/…,也许它应该是
cursor.execute("insert into tablename (A) value (%s)", [json.dumps(user['scoreCard'][i])])。我对 Python 并不坚定。