我从'16 Excel Power Query查询来自Microsoft的Cognitive text keyphase API - 从推文中获取关键字。工作正常。
但是,每个查询返回的JSON文档由Power Query转换为〜1-5行的列表。
对于pic,我希望返回的所有响应都在一个单元格/行中,而不管返回的项目数量。
如果您有兴趣,这是我的完整M查询(您需要输入自己的密钥)。
让 TweetCognitive =(TweetID为文本,TweetText为文本)=> 让 JsonRecords = Text.FromBinary(Json.FromValue([id = TweetID,text = TweetText])), JsonRequest =“{”“documents”“:[”& JsonRecords& “]}”, JsonContent = Text.ToBinary(JsonRequest,TextEncoding.Ascii), 回复= Web.Contents( “https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/keyPhrases?”, [ 标题= [#“Ocp-Apim-Subscription-Key”=“yourkeyhere”, #“Content-Type”=“application / json”,Accept =“application / json”], 内容= JsonContent ]), JsonResponse = Json.Document(回复,1252) 在 JsonResponse 在 TweetCognitive
答案 0 :(得分:0)
您可以使用List.Accumulate
将值列表转换为单个值。例如,这会将列表中的值组合成单个文本值,其中“。”分隔每行的值:
List.Accumulate(JsonResponse, "", (state, current) => state & current & ". ")
这会在您的示例中生成"monday frank love happiness today. nice good kind. tomorrow. "
。如果您想摆脱尾随空格,可以使用List.Accumulate
包围Text.Trim
表达式。