Ich möchte JSON durch Url abrufen und in Python in CSV konvertieren, aber ich bekomme einen Fehler. Siehe unten.JSON, Url holen, CSV konvertieren, Python
import requests
import pprint
import json
import csv
mysession = requests.Session()
url = 'https://shoiapi.xx.com/api/method/login'
data = {'usr': '@gmail.com', 'pwd': 'mh'}
ret=mysession.post(url, data=data)
response_data_json = ret.json()
print("---------------Post---------------------\n")
print(response_data_json)
stringOfJsonData = json.dumps(response_data_json)
tempf=open('test.csv', 'a')
f = csv.writer(tempf)
f.writerow(["home_page", "message", "full_name"])
pprint.pprint(stringOfJsonData)
for xin in stringOfJsonData:
f.writerow([xin["home_page"],xin["message"],xin["full_name"]
])
tempf.close()
print("---------------Out error---------------------\n")
Error i am geting
f.writerow([xin["home_page"],xin["message"],xin["full_name"]
TypeError: string indices must be integers
print("---------------Out error---------------------\n")
Der Fehler Ich erhalte: Der Fehler Ich erhalte: Der Fehler Ich erhalte: f.writerow ([xin [ "home_page"], xin [ "message"], xin [“ full_name "]
TypeError: string indices must be integers
Fxied, sorry, das sollte 'Feldnamen' haben –
Die Anfrage, die Sie haben, gibt keine JSON-Daten zurück, nur HTML. Offensichtlich wird das Dekodieren von HTML als JSON einen 'JSONDecodeError' ergeben. Wenn ich in einem normalen Browser zu dieser URL gehe, habe ich 'shoiapi.erpnext.com existiert nicht ' –
Das Skript sollte nun funktionieren und Ihnen einen einzigen Eintrag in Ihrer CSV-Datei geben. –