Export/convert Dialogflow 代理到 csv 或 excel 文件使用 python
Export/convert Dialogflow agent to csv or excel file using python
如何将所有问题和答案导出到 csv 或 excel 文件?
我已将 dialogflow 代理导出到 zip 文件中,并且每个问题或意图都有两个 json 文件。
有什么方法可以在 csv 或 excel 文件中创建问答对吗?
zip 文件包含两个目录 intents 和 entities。意图目录包含 Dialogflow 每个意图的响应和训练短语。您可以观察 JSON 文件中的模式并编写脚本以从中生成 csv 文件。
import os
import csv
import json
all_intents = os.listdir('intents')
with open('agent.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(["Response", "Questions"])
for intent in all_intents:
write = []
if intent.find('_usersays_en.json') == -1:
try:
with open('intents/' + intent) as f:
data = json.load(f)
resp = ''
try:
resp = data['responses'][0]['messages'][0]['speech'][0]
except:
print(intent)
write.append(resp)
except:
print(intent)
try:
with open('intents/' + intent.replace(".json", "") + '_usersays_en.json') as f:
data = json.load(f)
for d in data:
qn = (d['data'][0]['text'])
write.append(qn)
except:
print(intent.replace(".json", "") + '_usersays_en.json')
writer.writerow(write)
运行代码说明:
- 将代理导出为 zip。
- 解压缩文件。您将看到从 zip 中提取的实体和意图目录。
- 将此 python 文件和 intents 目录放在同一目录中。
- 运行 python3 filename.py(包含代码的文件名)。
- agent.csv 将被创建。
- 所有没有响应或训练短语的意图都将显示在终端上。
如何将所有问题和答案导出到 csv 或 excel 文件?
我已将 dialogflow 代理导出到 zip 文件中,并且每个问题或意图都有两个 json 文件。
有什么方法可以在 csv 或 excel 文件中创建问答对吗?
zip 文件包含两个目录 intents 和 entities。意图目录包含 Dialogflow 每个意图的响应和训练短语。您可以观察 JSON 文件中的模式并编写脚本以从中生成 csv 文件。
import os
import csv
import json
all_intents = os.listdir('intents')
with open('agent.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerow(["Response", "Questions"])
for intent in all_intents:
write = []
if intent.find('_usersays_en.json') == -1:
try:
with open('intents/' + intent) as f:
data = json.load(f)
resp = ''
try:
resp = data['responses'][0]['messages'][0]['speech'][0]
except:
print(intent)
write.append(resp)
except:
print(intent)
try:
with open('intents/' + intent.replace(".json", "") + '_usersays_en.json') as f:
data = json.load(f)
for d in data:
qn = (d['data'][0]['text'])
write.append(qn)
except:
print(intent.replace(".json", "") + '_usersays_en.json')
writer.writerow(write)
运行代码说明:
- 将代理导出为 zip。
- 解压缩文件。您将看到从 zip 中提取的实体和意图目录。
- 将此 python 文件和 intents 目录放在同一目录中。
- 运行 python3 filename.py(包含代码的文件名)。
- agent.csv 将被创建。
- 所有没有响应或训练短语的意图都将显示在终端上。