Я пробовал несколько разных решений, чтобы исправить мою проблему с помощью некоторых «смешных» строк в моем json-словаре, и ни одна из них не работает, поэтому Я думал, что смогу сделать пост. Словарь достигается путем соскабливания веб-сайта.Удаление n \ n и других нежелательных символов из json-юникодного словаря с помощью python
У меня есть словарь JSon:
my_dict = {
u"Danish title": u"Avanceret",
u"Course type": u"MScTechnol",
u"Type of": u"assessmen",
u"Date": u"\nof exami",
u"Evaluation": u"7 step sca",
u"Learning objectives": u"\nA studen",
u"Participants restrictions": u"Minimum 10",
u"Aid": u"No Aid",
u"Duration of Course": u"13 weeks",
u"name": u"Advanced u",
u"Department": u"31\n",
u"Mandatory Prerequisites": u"31545",
u"General course objectives": u"\nThe cour",
u"Responsible": u"\nMartin C",
u"Location": u"Campus Lyn",
u"Scope and form": u"Lectures, ",
u"Point(ECTS)": u"10",
u"Language": u"English",
u"number": u"31548",
u"Content": u"\nThe cour",
u"Schedule": u"F4 (Tues 1"
}
Я раздел содержание значения для [:10]
, чтобы уменьшить помехи, но некоторые из значений имеют длину 300 символов. Здесь может быть не так хорошо изображено, но некоторые из них имеют много символов новой строки, и я попробовал много разных решений для их удаления, таких как str.strip
и str.replace
, но безуспешно, потому что мои «значения» - unicode. А по значениям - key, value in my_dict.items()
.
Как удалить все новые строки, отображаемые в моем словаре? (Со значениями в фокусе, когда некоторые из новых строк завершаются, некоторые ведущие, а другие находятся в середине содержимого: e.i \nI have a\ngood\n idea\n
).
EDIT
Я использую Python ст. 2.7.11 и следующий фрагмент кода не производить то, что мне нужно. Я хочу, чтобы все новые строки были изменены на один символ пробела.
for key, value in test.items():
value = str(value[:10]).replace("\n", " ")
print key, value
Просьба привести пример, на котором «str.replace» не работает. Вы можете отредактировать вопрос и добавить его. –
Вы хотите удалить новые строки или вы хотите заменить их одним пространством? Вы должны указать, какую версию Python вы используете (желательно с тегом), поскольку обработка Юникода в Python 2 и Python 3 весьма различна. Вы можете найти эту статью полезной: [Pragmatic Unicode] (http://nedbatchelder.com)/текст/unipain.html), который написал ветеран SO Нед Батчелдер. –