Wenn ich den folgenden Code verwende, erhalte ich einen Fehler, obwohl es die CSV-Datei erstellt. Ich brauche Hilfe und bin ziemlich neu bei Python.Importiere JSON zu CSV in Python
Der Fehler i erhalten ist „Traceback (letzte Anruf zuletzt): File "/home/ubuntu/workspace/parse-json.py", Zeile 34, in WERTE = [x.encode ('utf8' . für) x in Artikel [ 'Felder'] Werte()] Typeerror: String-Indizes müssen ganze Zahlen sein“
import json
from pprint import pprint
with open('data.json') as data_file:
data = json.load(data_file)
#pprint(data)
# calc number of alert records in json file
x = len(data['alerts'])
count = 0
while (count < x):
#print 'COUNT = ', count
print data['alerts'][count]['message']
print data['alerts'][count]['tags']
print data['alerts'][count]['teams']
print data['alerts'][count]['id']
count = count + 1
import json
import csv
f = open('data.json')
data = json.load(f)
f.close()
f = csv.writer(open('yes.csv', 'wb+'))
for item in data:
values = [ x.encode('utf8') for x in item['fields'].values() ]
f.writerow([item['pk'], item['model']] + values)
Sind die beiden separate Dateien? Sie haben den gleichen Import zweimal. – jpmc26
Außerdem können wir Ihr Problem nicht diagnostizieren, da wir Ihre Daten nicht haben. Erstellen Sie eine [MVCE] (http://stackoverflow.com/help/mcve), die vorzugsweise einen Teil von data.json direkt als Zeichenfolge verwendet, anstatt sie in einer Datei zu belassen. (Dies könnte sogar das Problem für Sie offensichtlich machen.) – jpmc26