GCP的“ Longrunningrecognize”输出数据采用什么格式?

时间:2019-10-11 20:30:27

标签: google-cloud-platform

我正在使用Google Cloud的sample_long_running_recognize()来获取音频成绩单和说话者二值化,但是它给我的输出是LongRunningRecognizeResponse格式,看起来与JSON非常相似,但不完全相同。如何导出LongRunningRecognizeResponse的输出,以便将其放在pandas df中?

我尝试用

导出它
    "macros": {
        "findNextAndFocusText": [
            "editor.action.nextMatchFindAction",
            "closeFindWidget"
        ]
    }

,但是数据所使用的格式实际上不是JSON,因此它弄乱了所有内容。我可以通过使用 { "key": "cmd+g", "command": "macros.findNextAndFocusText", "when": "editorFocus" } 之类的方法调用out = open(audio_in_file_path + "outputs/" + audio_in_file_name + "_out.json" , "w+") out.write(response) # response is the output fyi out.close() 内部的对象来在控制台上打开数据,但我宁愿将其放在df上。

谢谢!

1 个答案:

答案 0 :(得分:0)

实际上,由于Cloud Speech-to-Text API响应采用JSON格式,因此数据的结构与JSON类似。

但是,Python客户端库通过JSON响应创建了Python对象[1],很难自动将其解析为JSON格式。您可以通过迭代LongRunningRecognizeResponse的结构来创建易于保存的JSON可解析对象。例如这样的

for res in response.results:
    for alt in res.alternatives:
        rows.append({"transcript": alt.transcript, "confidence": alt.confidence})

with open("results.json" , "w+") as file:
    json.dump(rows, file)

[1] https://googleapis.dev/python/speech/latest/gapic/v1/types.html#google.cloud.speech_v1.types.LongRunningRecognizeResponse