Watson APIからのトーン解析用のJSONレスポンスを保存しようとしています。csv.Error:sequence expected
私は、tone_nameの値を各データのヘッダーとスコア値としてCSVの各行に保存したいだけです。
import csv
import json
infile=open('oobar.json', "rb")
json_s=infile.read()
outfile=open("watsf.csv","wb")
writer=csv.writer(outfile)
count = 0
for data in(json.loads(json_s)):
categories = data['document_tone']
for category in categories['tone_categories']:
for tone in category['tones']:
if count == 0:
header = tone.values()[0]
writer.writerow(header)
count += 1
writer.writerow(tone.values()[1])
infile.close()
outfile.close()
私はこの
[
{
"document_tone": {
"tone_categories": [
{
"category_id": "emotion_tone",
"tones": [
{
"tone_name": "Anger",
"score": 0.068227,
"tone_id": "anger"
},
{
"tone_name": "Disgust",
"score": 0.035456,
"tone_id": "disgust"
},
{
"tone_name": "Fear",
"score": 0.043625,
"tone_id": "fear"
},
{
"tone_name": "Joy",
"score": 0.779054,
"tone_id": "joy"
},
{
"tone_name": "Sadness",
"score": 0.054364,
"tone_id": "sadness"
}
],
"category_name": "Emotion Tone"
}
]
}
}
]
EDIT
writer.writerow
はトンだったようにワトソンのAPIからの応答があり、この
のようなCSVファイルを得ることを望んhrowing Error: sequence expected
エラー。
'writer.writerow([tone.values()[1]])を試してください。 'writerow'はシーケンスを期待しています(リストは1つのシーケンスです) – roganjosh