CSV module and UNICODE
Rudy Schockaert
rudy.schockaert at gmail.com
Thu Feb 23 05:53:49 EST 2006
I'm having problems writing unicode to a csv file.
I use the following code:
-------------------------
import codecs
import csv
csvfile = csv.writer(codecs.open('filename.csv','w+','utf-8'))
a = u'\xc9'
csvfile.writerow([a,a])
-------------------------
It fails with the message: UnicodeEncodeError: 'ascii' codec can't encode
.....
Is there any way I can solve this.
<PEP 305>
1.
What about Unicode? Is it sufficient to pass a file object gotten from
codecs.open()? For example:
csvreader = csv.reader(codecs.open("some.csv", "r", "cp1252"))
csvwriter = csv.writer(codecs.open("some.csv", "w", "utf-8"))
In the first example, text would be assumed to be encoded as cp1252.
Should the system be aggressive in converting to Unicode or should Unicode
strings only be returned if necessary?
In the second example, the file will take care of automatically
encoding Unicode strings as utf-8 before writing to disk.
Note: As of this writing, the csv module doesn't handle Unicode data.
</PEP 305>
PEP 305 was last modified on Wed, 11 Aug 2004
<http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/python/python/nondist/peps/pep-0305.txt>
Has something changed in between?
Thanks in advance,
Rudy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20060223/d7168a55/attachment.html>
More information about the Python-list
mailing list