Я относительно новичок в программировании, поэтому извините, если я не предоставил достаточную информацию. ОС: Mac OS X 10.10.3. Из Excel (2011, 14.4.5) Я вызываю python xlwings (0.3.5).Unicode error xlwings
Целью является печать строки с датским символом. Код VBA:
Sub PrintText()
RunPython ("import test_file; test_file.print_text()")
End Sub
Python код:
# -*- coding: utf-8 -*-
from xlwings import Workbook, Sheet, Range, Chart
def print_text():
wb = Workbook.caller() # Creates a connection with a new workbook
print('å')
выход (к сожалению, у меня нет точки для размещения картины):
Error
line 7, in print_text print('\xe5')
UnicodeEncodeError: 'ascii' codec can't encode character '\xe5' in position 0: ordinal not in range(128)
Я также задаюсь вопросом, почему диалоговое окно показывает «Ошибка», когда нет ошибки (например, print ('a')?
Спасибо за быстрый ответ. Я запускаю Python 3.4.2 (подтвержден с помощью 'print (sys.version)'. Как упоминалось в ссылке, я также попытался использовать unicode 'print (str (" å ", 'utf-8'))', но дает мне ошибку: TypeError: decoding str не поддерживается. – DauleDK
Я обновил свой ответ с помощью примера - я думаю, что вы смотрите слишком далеко: при работе с Excel вам не нужно действительно «печатать» - вы бы Работа с ячейками напрямую. Делает смысл? –
Я понимаю сейчас - спасибо за отличный ответ и отличный инструмент! – DauleDK