csv module and None values
Peter Otten
__peter__ at web.de
Mon Aug 24 17:00:44 EDT 2009
JKPeck wrote:
> I'm trying to get the csv module (Python 2.6) to write data records
> like Excel. The excel dialect isn't doing it. The problem is in
> writing None values. I want them to result in just sequential commas
> - ,, but csv treats None specially, as the doc says,
>
> "To make it as easy as possible to interface with modules which
> implement the DB API, the value None is written as the empty string."
>
> I need strings to be quoted but not None values. Is there any way to
> get around this special None treatment?
If I understand you correctly the csv.writer already does what you want:
Python 2.6.2 (release26-maint, Apr 19 2009, 01:58:18)
[GCC 4.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import csv, sys
>>> w = csv.writer(sys.stdout)
>>> w.writerow([1,None,2])
1,,2
just sequential commas, but that is the special treatment. Without it the
the None value would be converted to a string and the line would look like
this one:
>>> class LooksLikeNone:
... def __str__(self): return "None"
...
>>> w.writerow([1,LooksLikeNone(),2])
1,None,2
Peter
More information about the Python-list
mailing list