Используя модуль csv
, вы можете сделать это так:
import csv
writer = csv.writer(open("some.csv", "wb"))
writer.writerow(the_list)
Если вам нужна строка, просто используйте StringIO
экземпляр в качестве файла:
f = StringIO.StringIO()
writer = csv.writer(f)
writer.writerow(the_list)
print f.getvalue()
Выход: a,"one ""two"" three","foo, bar","both""'"
csv
напишет так, что сможет прочитать позже.
Вы можете точно настроить его вывод, определив dialect
, просто установив quotechar
, escapechar
и т. Д., При необходимости:
class SomeDialect(csv.excel):
delimiter = ','
quotechar = '"'
escapechar = "\\"
doublequote = False
lineterminator = '\n'
quoting = csv.QUOTE_MINIMAL
f = cStringIO.StringIO()
writer = csv.writer(f, dialect=SomeDialect)
writer.writerow(the_list)
print f.getvalue()
Выход: a,one \"two\" three,"foo, bar",both\"'
Тот же диалект можно использовать с модулем csv для последующего чтения строки в списке.