【发布时间】:2015-08-22 03:17:42
【问题描述】:
我已经在 Bluemix 中部署了我的个性洞察服务应用程序,我可以调用 post 命令来发送文本。我想将数据的输出保存到 csv,我已经浏览了 Personality API 的 API 文档,但是我不明白我哪里出错了。谁能帮我将输出存储到 csv 文件中。
这是我在 Python 中使用的代码。
#!/usr/bin/env python
# coding: utf-8
import requests
import json
import csv
response = requests.post("https://gateway.watsonplatform.net/personality-insights/api/v2/profile",
auth=("user-id", "password"),
headers={"content-type": "application/json", "Accept": "text/csv"},
data = "text to be analyzed"
)
jsonProfile = json.loads(response.text)
with open('test1234.csv', 'w') as f:
for row in jsonProfile:
f.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
请帮帮我。
【问题讨论】:
-
首先你的缩进全错了,然后,你想要什么,你得到了什么,告诉我们。
-
有几处不对:(1)你发送的是纯文本,但同时也指明了content-type=application/json; (2) 您正在获取 CSV 输出,但尝试将其解析为 JSON; (3) 然后您尝试使用
csv库输出它,但 JSON 结构(如果您调用 JSON API)是一个嵌套对象 - 因为for迭代器不能简单地在那里工作。所有这些都在我下面的回复中得到纠正。
标签: python json csv ibm-watson personality-insights