Я знаю, что были аналогичные вопросы, но я думаю, что проблема, которую я имею, немного отличается от них. Пожалуйста, несите меня; Я только начал использовать Python 4 месяца назад, и я уверен, что мои показания незрелости!Unicode Ошибка при использовании JSON
Я пишу программу, которая отображает данные LinkedIn из файла CSV, используя плагин Protovis в дендрограмме. Как я могу видеть, плагин настроен правильно, и все это основано на Mining of the Social Web от O'Reilly's. Тем не менее, когда я запускаю мой код в IDLE, я получаю следующее сообщение об ошибке:
Traceback (most recent call last):
File "C:/Users/Envy 15/Desktop/MASIDendo", line 115, in <module>
html = open(HTML_TEMPLATE).read() % (json.dumps(json_output),)
File "C:\Python27\lib\json\__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "C:\Python27\lib\json\encoder.py", line 201, in encode
chunks = self.iterencode(o, _one_shot=True)
File "C:\Python27\lib\json\encoder.py", line 264, in iterencode
return _iterencode(o, 0)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x96 in position 17: invalid start `byte`
Теперь, как я понимаю, причина ошибки Unicode, что есть не-Unicode символы в одном из моих имен файлов , однако я проверил их, и это не так. Часть моего кода, на которой он указывает, составляет:
html = open(HTML_TEMPLATE).read() % (json.dumps(json_output),)
f = open(os.path.join(os.getcwd(), 'out', OUT), 'w')
f.write(html)
f.close()
print 'Data file written to: %s' % f.name
# Open up the web page in your browser
webbrowser.open('file://' + f.name)
Любая помощь с этим была бы высоко оценена!
Первая строка вашего фрагмента пытается сделать слишком много - создание JSON, загрузка шаблона и iterpolating значений для создания окончательного HTML. Разделите их на отдельные шаги, и вы с большей вероятностью увидите, что происходит. –