I'm trying to write a list of strings like below to a file separated by the given delimiter.
res = [u'123', u'hello world']
When I try splitting by TAB like below it gives me the correctly formatted string.
writer = csv.writer(sys.stdout, delimiter="\t")
writer.writerow(res)
gives --> 123 hello world
But when I try to split by space using delimiter=" "
, it gives me the space but with quotation marks like below.
123 "hello world"
How do I remove quotation marks. So that when I use space as the delimiter I should get
123 hello world
.
EIDT: when I try using the escapechar it doesn't make any double quotes. But everywhere in my testdata it appears a space, it makes it double.
You can set the csv.writer
to quote nothing with quoting=csv.QUOTE_NONE
for example:
import csv
with open('eggs.csv', 'wb') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=' ',
escapechar=' ', quoting=csv.QUOTE_NONE)
spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
Produces:
Spam Spam Spam Spam Spam Baked Beans
Spam Lovely Spam Wonderful Spam
If you do QUOTING_NONE
you also need and escape character.