python - 将字典插入使用 Python 中的 JSON 创建的 SQL 数据库
问题描述
我有一个 JSON 文件,我从中读取数据并获取字典我希望将这个完整的字典插入到 SQL Server 数据库中,以便可以从数据库中读取相同的字典。
但是在插入相同的内容时,我收到如下错误。
2018 年 7 月 13 日 11:25:00:错误:异常 102:
“相机”附近的语法不正确。DB-Lib 错误消息 102,严重性 15:
常规 SQL Server 错误:检查来自 SQL Server 的消息
以下是我的INSERT
查询。
INSERT INTO hw_info (hostname, peripheralsInfo)
VALUES ('linux-host', '{u'camera': {u'ab': {u'model': u'Model1', u'version': u'Version1', u'selectorMask': u'Data1'}, u'cd': {u'model': u'Model2', u'version': u'Version2', u'selectorMask': u'Data2'}}}')
如何将这个字典插入到数据库中?
解决方案
要将 json 插入数据库,请不要将其转换为 Python 对象;只需将字符串存储为从文件中读取的内容。
with open(peripheralsJsonFile).read() as f:
peripheralsInfo = f.read()
myquery = """INSERT INTO hw_info(hostname, peripheralsInfo) VALUES(%s,%s)"""
cursor.execute(myquery, (hostname, peripheralsInfo))
当您以后想要在程序中使用数据时,您可以将 SELECT 查询中的字符串传递json.loads()
给它,使其成为 Python 对象。
编辑
这里有两点说明。
推荐阅读
- android - 使用 IntelliJ Plugin SDK 添加自定义新模块模板 (Android Studio)
- python - Python Tornado - 向所有客户发送消息
- c - 如何在 C 中加倍 timeval?
- firebase - Flutter/Firebase/url_launcher/ 如何从应用程序发送短信?
- c - C - 当条件奇怪的问题
- excel - Excel 365 - 通过 VBA 过滤 ADODB.RecordSet 时崩溃
- react-native - Expo image-manipulator crop - 根据 facedetector 的值
- javascript - 如何在滚动位置增加时降低不透明度
- python - python googletrans utf-8 端有问题
- numpy - numpy genfromtxt - 缺失数据与坏数据