Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 16, 2012 06:54:37

run
Зарегистрирован: 2012-10-29
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Преобразовать строку в объект (список и словари)

Подскажите плс как быстрее и автоматически преобразовать такую строку в набор вложенных друг в друга объектов ?
Структура и размер такой строки могут меняться.
['[{“code”:1,“pos”:24,“row”:0,“col”:24,“len”:5,“word”:“\\u0421\\u0423\\u04140\\u0412”,“s”:},{“code”:3,“pos”:34,“row”:0,“col”:34,“len”:5,“word”:“\\u041b\\u042e\\u0414\\u0435\\u0419”,“s”:},{“code”:1,“pos”:40,“row”:0,“col”:40,“len”:9,“word”:“\\u043e\\u0441\\u0432\\u04351\\u0414\\u0435\\u043d\\u044b”,“s”:},{“code”:1,“pos”:68,“row”:0,“col”:68,“len”:11,“word”:“\\u0440\\u0441\\u0446\\u0443\\u0430\\u0446\\u0443\\u0432\\u0430\\u043f\\u043a”,“s”:},{“code”:1,“pos”:90,“row”:0,“col”:90,“len”:2,“word”:“\\u043b\\u044e”,“s”:},{“code”:1,“pos”:119,“row”:0,“col”:119,“len”:14,“word”:“\\u043d\\u0435\\u043f\\u043e\\u0442\\u043e\\u043f\\u043b\\u044f \\u0434\\u0435\\u0439”,“s”:},{“code”:1,“pos”:155,“row”:0,“col”:155,“len”:6,“word”:“\\u0435\\u043c\\u043e\\u0441\\u0442\\u0438”,“s”:},{“code”:1,“pos”:178,“row”:0,“col”:178,“len”:7,“word”:“\\u0443\\u043f\\u0440\\u0430\\u0432\\u043b\\u044f”,“s”:}]']
спасибо !

Офлайн

#2 Ноя. 16, 2012 07:41:38

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Преобразовать строку в объект (список и словари)

#!/usr/bin/env python
# -*- coding: utf-8 -*-
d='[{"code":1,"pos":24,"row":0,"col":24,"len":5,"word":"\\u0421\\u0423\\u04140\\u0412","s":4}]'
lst=eval(d)
print lst



Офлайн

#3 Ноя. 16, 2012 07:41:48

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

Преобразовать строку в объект (список и словари)

import ast
data = ...
entries = ast.literal_eval(data)

P.S. используйте
[code python]
код....
[/code]

Офлайн

#4 Ноя. 16, 2012 08:40:08

dimy44
От: Евпатория
Зарегистрирован: 2012-04-21
Сообщения: 463
Репутация: +  42  -
Профиль  

Преобразовать строку в объект (список и словари)

в каждом словаре в условии ключ “s” не имеет своего значения, будет ошибка. Это опечатка или так и есть?

Офлайн

#5 Ноя. 16, 2012 09:51:47

run
Зарегистрирован: 2012-10-29
Сообщения: 11
Репутация: +  0  -
Профиль   Отправить e-mail  

Преобразовать строку в объект (список и словари)

так и есть, пробую сервис яндекс спеллер и все же решил что лучше получать отклик в формате XML и его парсить, (поначалу хмл более страшным показался ) чем в виде такой строки, спасибо всем за помощь !

Отредактировано run (Ноя. 16, 2012 09:52:08)

Офлайн

#6 Ноя. 16, 2012 10:19:36

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

Преобразовать строку в объект (список и словари)

run
пробую сервис яндекс спеллер
Сразу бы сказали, там JSON
http://docs.python.org/2/library/json.html
import json
entries = json.loads(data)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version