Hi all,

Platform: winxp
Version: Python 2.3

I have a task of reading files in a folder and creating an one excel
file with sheets, one sheet per file, with sheet named as filename. I
am facing problem in handling special characters. I am using XLRD and
XLW package to read/write from/to file. But facing problem in handling
special characters. I am getting encode error.

UnicodeDecodeError 'ascii' codec can't encode character u'\xdf' in
position 19: ordinal not in range(128)
row: 76

the cell value at rowx = 76, colx = 0 is

I used Latin-1 encoding, but after the file is created I get an error
'Unable to read the file'.

When I get the exception I want to format the string so that I can use
it to write to a file and also query database.

Can anybody guide how to solve this problem. what encoding I should
use, and after wring to file I should the same special character.

Also python IDLE is able to output the same character corretly when I
say print and why not I?

Any suggestions would be greatly appreciated.


For German characters I have found it simpler to replace them with acceptable equivalents. Here is an example:

# -*- coding: iso-8859-15 -*-

str1 = 'Activest-Aktien-Großbritannien'
print str1  # test
str1 = str1.replace('ß', 'ss')
print str1  # test

str2 = 'Überländliche Fracht'
print str2
str2 = str2.replace('Ü', 'Ue')
str2 = str2.replace('ä', 'ae')
print str2
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.