我正在使用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上。
谢谢!
答案 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)