Ich versuche, JSON Antwort für Tonanalyse von Watson API zu speichern.csv.Error: Sequenz erwartet
Ich möchte nur die Werte von ton_name als Kopfzeilen speichern und Werte jeder Daten in jeder CSV-Zeile.
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()
i ist eine csv wie diese
die Antwort von Watson-API zu erhalten hofft, wie diese
[
{
"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
war t wogende Error: sequence expected
Fehler.
Versuchen Sie 'writer.writerow ([tone.values () [1]])'. 'writerow' erwartet eine Sequenz (eine Liste ist eine Sequenz) – roganjosh