Конвертировать HTML перевод строки в python словарь - PullRequest
0 голосов
/ 04 апреля 2020

Я собираю данные об инцидентах с веб-сайта RFS (Сельская пожарная служба) для анализа некоторых данных. Однако часть данных, которые я получаю, мне нужно разбить, чтобы они были более детальными.

У меня есть собрал следующее прямо из JSON и был бы признателен за некоторые предложения о том, как я могу превратить это 'description': 'ALERT LEVEL: Not Applicable <br />LOCATION: Turnbulls Lane, Moruya, NSW 2537 <br />COUNCIL AREA: Eurobodalla <br />STATUS: Out of control <br />TYPE: Structure Fire <br />FIRE: Yes <br />SIZE: 0 ha <br />RESPONSIBLE AGENCY: Fire and Rescue NSW <br />UPDATED: 3 Apr 2020 21:14'

в это

{'ALERT LEVEL': 'Not Applicable', 'LOCATION': 'Turnbulls Lane, Moruya, NSW 2537', 'COUNCIL AREA': 'Eurobodalla', 'STATUS': 'Out of control', 'TYPE': 'Structure Fire', 'FIRE': 'Yes', 'SIZE': '0 ha', 'RESPONSIBLE AGENCY ': 'Fire an
d Rescue NSW', 'UPDATED': '3 Apr 2020 21:14'}

Спасибо

Ответы [ 2 ]

0 голосов
/ 04 апреля 2020

Хорошо, если в первом ключе не будет :, следующий код должен работать

text = """'description': 'ALERT LEVEL: Not Applicable <br />LOCATION: Turnbulls Lane, Moruya, NSW 2537 <br />COUNCIL AREA: Eurobodalla <br />STATUS: Out of control <br />TYPE: Structure Fire <br />FIRE: Yes <br />SIZE: 0 ha <br />RESPONSIBLE AGENCY: Fire and Rescue NSW <br />UPDATED: 3 Apr 2020 21:14'"""
lines = text.split("<br />")
data_dump = {}
for line in lines:
    line = line.replace("'","")
    key,value = line.split(":", maxsplit=1)

    data_dump[key] = value
print(data_dump)

Но этот подход может сломаться, если в ключе было : текст.

0 голосов
/ 04 апреля 2020

Предполагая, что полученные вами данные имеют формат Python JSON или другой формат, подобный dict, попробуйте

split = data['description'].split('<br />')

d = {}

for x in split:
    key, val = x.split(': ')
    d[key] = val.strip()
...