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

2024-09-28 21:23:31 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

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


Tags: 文件csv答案json代理zipexcel意图
1条回答
网友
1楼 · 发布于 2024-09-28 21:23:31

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)

运行代码的说明:

  1. 将代理导出为zip
  2. 解压缩文件。您将看到从zip中提取的实体和意图目录
  3. 将此python文件和intents目录放在同一目录中
  4. 运行python3 filename.py(包含代码的文件名)
  5. 将创建agent.csv
  6. 终端上将显示所有没有响应或训练短语的意图

相关问题 更多 >