我是python的初学者。我正在尝试读取我的数据库并使用以下格式写入 json 文件
{"intents": [
{"tag": "greeting",
"patterns": ["hello"],
"responses": ["hello"]
},
{"tag": "greeting",
"patterns": ["are you fine"],
"responses": ["yeah"]
}
]
}
我关注数据库
tag patterns responses
greeting hello hello
greeting are you fine yeah
我试过这个代码:
connection = sqlite3.connect('database.db')
c = connection.cursor()
def writeToJSONFile(path, fileName, data):
filePathNameWExt = './' + path + '/' + fileName + '.json'
with open(filePathNameWExt, 'w') as fp:
json.dump(data, fp)
result = c.execute("SELECT * FROM reply").fetchall()
data = {}
data['intents'] = [{***some code here***}]
writeToJSONFile('./','intents',data)
我无法为 json 部分编写代码。欢迎任何帮助,建议
假设结果如下:
>>>print(result)
[['greeting','hello','hello'],['greeting','are you fine','yeah']]
以下行将按照您想要的方式将数据放入 dict 中:
data = { 'intents': [
{'tag':row[0],
'patterns':[row[1]],
'responses':[row[2]]
}
for row in result]
}
注意:我试图通过格式化让它更容易阅读,这是单行
data = { 'intents': [ {'tag':row[0], 'patterns':[row[1]], 'responses':[row[2]]} for row in result] }
您可以漂亮地打印数据以帮助验证它是正确的:
>>> import json
>>> print(json.dumps(data, indent=4, sort_keys=True))
{
"intents": [
{
"patterns": [
"hello"
],
"responses": [
"hello"
],
"tag": "greeting"
},
{
"patterns": [
"are you fine"
],
"responses": [
"yeah"
],
"tag": "greeting"
}
]
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句