2015-10-27 3 views
-1

Я получаю эту ошибку, не знаю, в чем проблемаTypeError: Объект 'NoneType' не подлежит расшифровке?

__author__ = 'victor' 

import requests 
import xmltodict 
url = 'http://webservices.ns.nl/ns-api-storingen?station=UT' 
user = '[email protected]' 
passw = 'dMHAg67WACsUdrQmqctr3giaTpTnsJmhPP2EcQWlVnMw3zmHXvSE-A' 
response = requests.get(url, auth=(user, passw)) 

xmldi = xmltodict.parse(response.text) 

storing = 0 
allestoringen = 4 

print("Storingen",'\n','ongeplande storingen') 
print('{0:15s}'.format('id'),'{0:40s}'.format('traject'),'{0:20s}'.format('reden'),'{0:100s}'.format('bericht'),'{0:25s}'.format('datum')) 
for storing in range(0, allestoringen): 
    id = xmldi['Storingen']['Ongepland']['Storing']['id'] 
    traject = xmldi['Storingen']['Ongepland']['Storing']['Traject'] 
    reden = xmldi['Storingen']['Ongepland']['Storing']['Reden'] 
    bericht = xmldi['Storingen']['Ongepland']['Storing']['Bericht'] 
    datum = xmldi['Storingen']['Ongepland']["Storing"]['Datum'] 

print("Geplande storingen ") 
print('{0:25s)'.format('id'),'{0:40s}'.format('traject'),'{0:35s}'.format('periode'),'{0:200s}'.format('advies'),'{0:250s}'.format('bericht'),'{0:50s}'.format('oorzaak'),'{0:30s}'.format('vertraging')) 
for storing in range(0, allestoringen): 
    id = xmldi['Storingen']['Gepland']['Storing']['id'] 
    traject = xmldi['Storingen']['Gepland']['Storing']['Traject'] 
    periode = xmldi['Storingen']['Gepland']['Storing']['Periode'] 
    advies = xmldi['Storingen']['Gepland']['Storing']['Advies'] 
    bericht = xmldi['Storingen']['Gepland']['Storing']['Bericht'] 
    oorzaak = xmldi['Storingen']['Gepland']['Storing']['Oorzaak'] 
    vertraging = xmldi['Storingen']['Gepland']['Storing']['Vertraging'] 

это выход, я должен быть заполнен информацией:

C:\Python34\python.exe C:/Users/avi/PycharmProjects/untitled1/storing.py 

Storingen ongeplande storingen ID traject Reden bericht datum
Traceback (последний последний звонок): Файл «C: /Users/avi/PycharmProjects/untitled1/storing.py», строка 18, в id = x mldi [ 'Storingen'] [ 'Ongepland'] [ 'Сохранение'] [ 'ID'] Ошибка типа: объект 'NoneType' не subscriptable

Процесс закончил с кодом выхода 1

+2

Похоже ' xmltodict.parse (response.text) '(или, возможно, один из его вложенных словарей) возвратил' None'. – TigerhawkT3

+0

Точнее, 'xmldi ['Storingen'] ['Ongepland']' '' None' в строке 18. –

+0

Что это значит? Нет и как я могу решить эту ошибку? – konjo1

ответ

0
since Ongepland has as value only None 

    id = xmldi['Storingen']['Ongepland']['Storing']['id'] 

    should be changed to: 


    id = xmldi['Storingen']['Gepland']['Storing']['id'] 
Смежные вопросы