使用python将Dialogflow代理导出/转换为csv或excel文件

使用python将Dialogflow代理导出/转换为csv或excel文件,python,json,python-3.x,csv,dialogflow-es,Python,Json,Python 3.x,Csv,Dialogflow Es,如何将所有问题和答案导出到csv或excel文件 我已经将dialogflow代理导出到zip文件中,并为每个问题或意图获取了两个json文件 有没有办法在csv或excel文件中创建问答对?zip文件包含两个目录、意图和实体。意向目录包含Dialogflow每个意向的响应和培训短语。您可以观察JSON文件中的模式,并编写一个脚本来生成csv文件 import os import csv import json all_intents = os.listdir('intents') wit

如何将所有问题和答案导出到csv或excel文件

我已经将dialogflow代理导出到zip文件中,并为每个问题或意图获取了两个json文件


有没有办法在csv或excel文件中创建问答对?

zip文件包含两个目录、意图和实体。意向目录包含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
  • 终端上将显示所有没有响应或训练短语的意图
  • 你说的“问答对”是什么意思?比如,意图就是问题,回答就是答案?训练短语怎么样,你想把它们作为同样的问题包括进来吗?你说得对