import xlwt as xl
x = xl.Workbook()
x.add_sheet(u'Лист1')
x.save('123.xls')
xl.Workbook('utf-8') можно задать параметр но не помогает …
помогите пожалуйста.
Windows XP/ Python 2.6
import xlwt as xl
x = xl.Workbook()
x.add_sheet(u'Лист1')
x.save('123.xls')
# coding:utf-8
>>> x.add_sheet(u'Лист1'.encode('cp1251'))
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
x.add_sheet(u'Лист1'.encode('cp1251'))
File "D:\Python26\lib\encodings\cp1251.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_table)
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-3: character maps to <undefined>
regallсовсем недавно на форуме обсуждалось нечто подобное. мало указать кодировку, нужно еще и файл сохранить в этой кодировке :). при соблюдении этих условий библиотека работает корректно.
В начале файла
Код:
# coding: utf-8
есть?
pyuserы, как-то упустил это, так как у меня Эклипс уже кто-знает сколько глобально настроен на utf-8, то с проблемой не сталкивался давно =)
файл сохранить в этой кодировке smile
ZubchickPydev, насколько мне известно, нет, он сохраняет файлы в кодировке, которая установлена для текущей папки проекта, а в последнем вообще появилась монстрячая фича: автоопределение кодировки (если чесно, то очень хреново работает, лучше б они там поставили return ‘utf-8’ :D)
кодировки в первой строчке сохраняет файл именно в той кодировке…
Zubchickпользуюсь IDLE 2.6 …
Мб оп пишет в стандартном блокноте? +)
# -*- coding: utf8 -*-
import xlwt as xlw
#работаем с экселем
class cxlslog:
filename = ""
wl = None
def __init__(self,fname):
self.wl = xlw.Workbook()
self.filename = fname
def addlist(self,lname):
self.wl.add_sheet(lname)
def save(self):
self.wl.save(self.filename)
#работаем с экселем