escape character / csv module
MRAB
python at mrabarnett.plus.com
Thu Jul 1 16:04:06 EDT 2010
V N wrote:
> string "\x00" has a length of 1. When I use the csv module to write
> that to a file
>
> csv_f = csv.writer(file("test.csv","wb"),delimiter="|")
> csv_f.writerow(["\x00","zz"])
>
> The output file looks like this:
> |zz
>
> Is it possible to force the writer to write that string?
It can write "\x01" but not "\x00", and "\x00ABC" doesn't write anything
either.
The csv module imports from _csv, which suggests to me that there's code
written in C which thinks that the "\x00" is a NUL terminator, so it's a
bug, although it's very unusual to want to write characters like "\x00"
to a CSV file, and I wouldn't be surprised if this is the first time
it's been noticed! :-)
More information about the Python-list
mailing list