On 02/29/2012 04:05 AM, Guillaume Chorn wrote:
Thanks, the suggestion
print name.decode("utf-8").strip()
worked like a charm. When I did the print repr(name) I got exactly what
you predicted. I'm not yet sure what all of this means, but I'm going to
read this<http://docs.python.org/howto/unicode.html> in the hopes of
finding out. Anyway thanks again for the help!
cheers,
Guillaume
What it means is that the character before the name was not a space
character, but some Unicode variant of space. Peter figured that out,
not I. It also means that you were using the incorrect decoder for the
way the file was encoded and written out.
Are you creating that csv file with some Windows app, or with Python?
You should look at it with a hex viewer to see if there are other
surprises waiting for you in there. For example, you might also need
the same kind of solution if there are quotes (or an apostrophe)
anywhere in the file. Or if someone's address uses an umlaut.
Generally, it's better to clean up cruft at the source, when possible.
And if that means the file has to be stored in utf-8, you should decode
the whole file that way, and then deal with it as unicode.
--
DaveA
--
http://mail.python.org/mailman/listinfo/python-list