dict to Cyrillic string

时间:2017-12-13 18:50:41

标签: python python-2.7

我有数据dict

{'Credit Card': 'No', u'Room (0): \u0411\u044e\u0434\u0436\u0435\u0442\u043d\u044b\u0439 \u0442\u0440\u0435\u0445\u043c\u0435\u0441\u0442\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440': {'Info': {'Info': u'\u041f\u0438\u0442\u0430\u043d\u0438\u0435 \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0446\u0435\u043d\u0443 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430.  \u0420\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0434\u0435\u0442\u0435\u0439 \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u0440\u043e\u0432\u0430\u0442\u0435\u0439: \u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0434\u0435\u0442\u0435\u0439 \u043b\u044e\u0431\u043e\u0433\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430. \u041f\u0440\u0438 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u0434\u043e \u0434\u0432\u0443\u0445 \u0434\u0435\u0442\u0435\u0439  \u043c\u043b\u0430\u0434\u0448\u0435 6 \u043b\u0435\u0442 \u043d\u0430 \u0438\u043c\u0435\u044e\u0449\u0438\u0445\u0441\u044f \u043a\u0440\u043e\u0432\u0430\u0442\u044f\u0445 \u043f\u0440\u043e\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0438\u043c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e . \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u0440\u043e\u0432\u0430\u0442\u0438 \u0432 \u043d\u043e\u043c\u0435\u0440\u0435 \u043d\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f.  \u041f\u0440\u0435\u0434\u043e\u043f\u043b\u0430\u0442\u0430: \u041f\u0440\u0435\u0434\u043e\u043f\u043b\u0430\u0442\u0430 \u043d\u0435  \u0432\u0437\u0438\u043c\u0430\u0435\u0442\u0441\u044f.  \u041f\u043e\u0440\u044f\u0434\u043e\u043a \u043e\u0442\u043c\u0435\u043d\u044b \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f: \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043c\u0435\u043d\u044b \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0441\u0440\u043e\u043a \u0434\u043e 18:00 \u0434\u0430\u0442\u044b \u0437\u0430\u0435\u0437\u0434\u0430 \u0448\u0442\u0440\u0430\u0444 \u043d\u0435 \u0432\u0437\u0438\u043c\u0430\u0435\u0442\u0441\u044f. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043c\u0435\u043d\u044b \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0437\u0434\u043d\u0435\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u0440\u043e\u043a\u0430 \u0438\u043b\u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0437\u0430\u0435\u0437\u0434\u0430 \u0432\u0437\u0438\u043c\u0430\u0435\u0442\u0441\u044f 100 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432 \u043e\u0442  \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0432\u043e\u0439 \u043d\u043e\u0447\u0438 \u043f\u0440\u043e\u0436\u0438\u0432\u0430\u043d\u0438\u044f . '}, 'Guest': u'\u0421\u0418\u041b\u042c\u0412\u0415\u0421\u0422\u0420 \u0421\u0422\u0410\u041b\u041e\u041d\u0415', 'Smoking people': 'No', 'Daily rates': ['2018-02-20: 1990.00 (Standard Rate)', '2018-02-21: 1990.00 (Standard Rate)', '2018-02-22: 1990.00 (Standard Rate)', '2018-02-23: 1990.00 (Standard Rate)'], 'Number of guests': '2', 'Price details': [u'\u0433\u043e\u0440\u043e\u0434\u0441\u043a\u043e\u0439 \u043d\u0430\u043b\u043e\u0433: 10.0RUB (included in room daily rates)'], 'Meal': u'\u041f\u0438\u0442\u0430\u043d\u0438\u0435 \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0446\u0435\u043d\u0443 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430. '}, 'ChannelHotelId': '2360119', 'Channel reservation id': '1884282051', 'Commission': '1194.00'}

如何将其转换为西里尔字符串?

1 个答案:

答案 0 :(得分:2)

首先 - 这是有效的Unicode字符串,如果你只是print(your_dictionary),你应该看到西里尔文(至少对我有用)。

现在关于将它保存到Django的部分,我假设你将它存储为json字符串,所以你需要做的就是将它正确地转储到json字符串中:

import json
d = {'Credit Card': 'No', u'Room (0): \u0411\u044e\u0434\u0436\u0435\u0442\u043d\u044b\u0439 \u0442\u0440\u0435\u0445\u043c\u0435\u0441\u0442\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440': {'Info': {'Info': u'\u041f\u0438\u0442\u0430\u043d\u0438\u0435 \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0446\u0435\u043d\u0443 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430.  \u0420\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0435 \u0434\u0435\u0442\u0435\u0439 \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043a\u0440\u043e\u0432\u0430\u0442\u0435\u0439: \u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0434\u0435\u0442\u0435\u0439 \u043b\u044e\u0431\u043e\u0433\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430. \u041f\u0440\u0438 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d\u0438\u0438 \u0434\u043e \u0434\u0432\u0443\u0445 \u0434\u0435\u0442\u0435\u0439  \u043c\u043b\u0430\u0434\u0448\u0435 6 \u043b\u0435\u0442 \u043d\u0430 \u0438\u043c\u0435\u044e\u0449\u0438\u0445\u0441\u044f \u043a\u0440\u043e\u0432\u0430\u0442\u044f\u0445 \u043f\u0440\u043e\u0436\u0438\u0432\u0430\u043d\u0438\u0435 \u0438\u043c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e . \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u0440\u043e\u0432\u0430\u0442\u0438 \u0432 \u043d\u043e\u043c\u0435\u0440\u0435 \u043d\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f.  \u041f\u0440\u0435\u0434\u043e\u043f\u043b\u0430\u0442\u0430: \u041f\u0440\u0435\u0434\u043e\u043f\u043b\u0430\u0442\u0430 \u043d\u0435  \u0432\u0437\u0438\u043c\u0430\u0435\u0442\u0441\u044f.  \u041f\u043e\u0440\u044f\u0434\u043e\u043a \u043e\u0442\u043c\u0435\u043d\u044b \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f: \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043c\u0435\u043d\u044b \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u0441\u0440\u043e\u043a \u0434\u043e 18:00 \u0434\u0430\u0442\u044b \u0437\u0430\u0435\u0437\u0434\u0430 \u0448\u0442\u0440\u0430\u0444 \u043d\u0435 \u0432\u0437\u0438\u043c\u0430\u0435\u0442\u0441\u044f. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0442\u043c\u0435\u043d\u044b \u0438\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0437\u0434\u043d\u0435\u0435 \u044d\u0442\u043e\u0433\u043e \u0441\u0440\u043e\u043a\u0430 \u0438\u043b\u0438 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0435\u0437\u0430\u0435\u0437\u0434\u0430 \u0432\u0437\u0438\u043c\u0430\u0435\u0442\u0441\u044f 100 \u043f\u0440\u043e\u0446\u0435\u043d\u0442\u043e\u0432 \u043e\u0442  \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0432\u043e\u0439 \u043d\u043e\u0447\u0438 \u043f\u0440\u043e\u0436\u0438\u0432\u0430\u043d\u0438\u044f . '}, 'Guest': u'\u0421\u0418\u041b\u042c\u0412\u0415\u0421\u0422\u0420 \u0421\u0422\u0410\u041b\u041e\u041d\u0415', 'Smoking people': 'No', 'Daily rates': ['2018-02-20: 1990.00 (Standard Rate)', '2018-02-21: 1990.00 (Standard Rate)', '2018-02-22: 1990.00 (Standard Rate)', '2018-02-23: 1990.00 (Standard Rate)'], 'Number of guests': '2', 'Price details': [u'\u0433\u043e\u0440\u043e\u0434\u0441\u043a\u043e\u0439 \u043d\u0430\u043b\u043e\u0433: 10.0RUB (included in room daily rates)'], 'Meal': u'\u041f\u0438\u0442\u0430\u043d\u0438\u0435 \u043d\u0435 \u0432\u0445\u043e\u0434\u0438\u0442 \u0432 \u0446\u0435\u043d\u0443 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u043c\u0435\u0440\u0430. '}, 'ChannelHotelId': '2360119', 'Channel reservation id': '1884282051', 'Commission': '1194.00'}
print(d)
print(json.dumps(d, ensure_ascii=False))

这应该有效。更多信息:Saving utf-8 texts in json.dumps as UTF8, not as \u escape sequence